oop中php的$ this范围是多少?

时间:2015-05-22 06:55:34

标签: php oop

php中$ this的范围是什么,我们可以在类

中声明side函数
class Blogs extends Controller

{

     public  $articlesmodel = $this->loadmodel('articlesmodel');
     public function index()
     {      
          if(!isset($_SESSION['user']['login_id'])){
            header("location:".URL);
           }
     }
}

3 个答案:

答案 0 :(得分:1)

对于Blogs类,它将在类边界上。 但你也是extending Controller课。因此,使用$this,您可以访问所有public& protected班级Controller成员。

在上面的代码中 - $this->loadmodel('articlesmodel');正在访问Controller类的方法(如果Controller类没有扩展包含该方法的任何其他类)。

<强>更新

您不能在变量声明中使用表达式或函数调用。对于错误,请执行 -

class Blogs extends Controller

{
     public $articlesmodel;
     function __construct()
     {
        $this->articlesmodel = $this->loadmodel('articlesmodel');
     }
     public function index()
     {      
          if(!isset($_SESSION['user']['login_id'])){
            header("location:".URL);
           }
     }
}

答案 1 :(得分:1)

$this表示类本身的实例,因此您可以访问该类中的任何内容,包括私有变量,函数等。

答案 2 :(得分:0)

使用$ this来引用当前对象。使用self来引用当前类。换句话说,对非静态成员使用$ this-&gt;成员,对静态成员使用self :: $ member。

$ this =当前班级