大佬教程收集整理的这篇文章主要介绍了PHP-重新声明实例和静态函数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
class me {
private $name;
public function __construct($name) { $this->name = $name; }
public function work() {
return "You are working as ". $this->name;
}
public static function work() {
return "You are working anonymously";
}
}
$new = new me();
me::work();
致命错误:无法重新声明我:: work()
问题是,为什么PHP不允许这样的重新声明.有什么解决方法吗?
解决方法:
尽管我很可能永远不会在生产代码中执行以下操作,但实际上使用魔术方法创建可以解决此问题:
在静态范围内调用不可访问的方法时,内部会触发__callStatic.
<?PHP
class Test
{
public function __call($name, $args)
{
echo 'called '.$name.' in object context\n';
}
public static function __callStatic($name, $args)
{
echo 'called '.$name.' in static context\n';
}
}
$o = new Test;
$o->doThis('object');
Test::doThis('static');
?>
以上是大佬教程为你收集整理的PHP-重新声明实例和静态函数全部内容,希望文章能够帮你解决PHP-重新声明实例和静态函数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。