php定义一个类。为啥下面第一种情况就没问题,第二种情况就报错??
<?php
class xyz{
private static $abc=array(???????????????????????);
}
//正常
class xyz{
$xxx=array(???????????????????????);
private static $abc=$xxx;
}
//500 错误
php定义一个类。为啥下面第一种情况就没问题,第二种情况就报错??
<?php
class xyz{
private static $abc=array(???????????????????????);
}
//正常
class xyz{
$xxx=array(???????????????????????);
private static $abc=$xxx;
}
//500 错误
类里面包含的东西:static的是关于类的,即静态方法和属性;其它的是属于对象的(类的实例)方法和属性
静态的当然不能直接调用属于对象的东西(对象都还没存在呢!!!)
这也算面向对象的基本概念了吧...
2 回答1.3k 阅读✓ 已解决
1 回答943 阅读✓ 已解决
2 回答834 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答891 阅读
1 回答880 阅读
1 回答811 阅读
类里面的静态变量和常量声明都不能用变量,属于语法错误。我想是因为在对象没有实例的时候变量都还没有被分配,所以静态变量和常量都无法获得有效的值。
建议:
1- 修改php.ini,把错误信息显示出来,这样你就不会看到干巴巴的500错误了,而是PHP提示的错误原因,这样有助于解决问题
2- 使用比较专业的PHP开发IDE,如PHPStorm或者ZendStudio(我在用这个),这种浅显的语法错误会被IDE直接标红。