2015-05-22 2 views
0

что сфера $ это в PHP, мы можем объявить вне боковой функции в классе

class Blogs extends Controller 

{ 

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

'$ this' может использоваться только внутри методов класса. – Barmar

+0

И объявления свойств могут принимать только постоянные значения. – mario

ответ

1

Для Blogs класса было бы на границах класса. Но вы extendingController класс тоже. Таким образом, с $this вы можете получить доступ ко всем public & protected членов класса Controller.

В приведенном выше коде - $this->loadmodel('articlesmodel'); обращается к методу класса Controller (если класс Controller не распространяется на какой-либо другой класс, содержащий этот метод).

Update

Вы не можете иметь выражения или вызовы функций в переменной declarations.For ошибки делать -

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); 
      } 
    } 
} 
+0

so public $ articlesmodel = $ this-> loadmodel ('articlesmodel'); неверно –

+0

Почему бы не сделать его публичным членом '$ articlesmodel' в классе' Blogs'. –

+0

, но я получаю ошибку, ошибка анализа: синтаксическая ошибка, неожиданный «$ this» (T_VARIABLE) в E: \ wamp \ www \ www \ demo \ application \ controller \ Blogs.php в строке 6 –

1

$this представляет собой экземпляр самого класса, так что вы можете получить доступ и ничего все в этом классе, включая частные переменные, функции и т. д.

0

Используйте $ this для обозначения текущего объекта. Используйте self для обозначения текущего класса. Другими словами, используйте $ this-> member для нестатических членов, используйте self :: $ member для статических членов.

$ this = текущий класс