码迷,mamicode.com
首页 > Web开发 > 详细

PHP可以通过类名调用非静态方法

时间:2014-08-19 16:15:24      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:io   问题   cti   代码   on   php   c   text   

今日有兄弟遇上一个问题,就是可以通过class名称直接调用该类中的函数,我测试了一下,确实可以,概念中是只有静态方法才可以这样调用的,现在 被刷新了,于是我在方法中加入一行$this相关的操作,再运行,立马报错了,也就是PHP在调用方法时,没有严格限制,但是在方法内部执行时,遇 上$this这个变量时抛出: Using $this when not in object context
也就是如果你的方法内没有涉及到实例化的本类引用,就可以直接调用了

以下是测试代码:
t::t1();

class t{
private $data;

public static function t1(){
echo "\n";
echo __METHOD__;
echo "\n";
self::f1();
}

public static function t2(){
echo "\n";
echo __METHOD__;
echo "\n";
}

public function f1(){
$this->data = ‘jken‘;
echo "\n";
echo __METHOD__;
echo "\n";
}
}
?>

PHP可以通过类名调用非静态方法,布布扣,bubuko.com

PHP可以通过类名调用非静态方法

标签:io   问题   cti   代码   on   php   c   text   

原文地址:http://www.cnblogs.com/yjken/p/3922179.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!