2015-04-13 2 views
0

, так что я пытался сохранить как атрибут класса profile.php ап конкретный сегмент URI, но если бы я попробовать этот подход не работает:Codeigniter контроллер атрибутов не работает

private $section=$this->uri->segment(2); 

Но это дает me the error:

unexpected '$section' (T_VARIABLE), expecting function (T_FUNCTION) 

У меня есть это право после объявления класса.

Я пробовал еще одну вещь, которая работает настолько толстой, но мне придется делать это в каждом отдельном методе, который я создаю, и я хотел бы, чтобы он был объявлен только в атрибуте, поэтому мне не нужно повторять код:

private $section; 

public function account(){ 
    $this->section=$this->uri->segment(2); 
    $this->routedHome($this->section); 
} 

Я пропустил что-то здесь?

+3

Вы можете использовать метод конструктора для этого – xiidea

+1

вы не можете настроить свойства, как это, сделать это внутри конструктора – Ghost

+0

Right! спасибо, я даже не думал об этом, не знаю почему. Спасибо, он явно работал нормально. – syrano

ответ

0

Используйте метод магии __construct. Это загружается по всем запросам.

<?php 
class your_controller extends CI_Controller 
{ 

    private $section; 

    function __construct() 
    { 
     parent::__construct(); 
     $this->section=$this->uri->segment(2); 
    } 
} 
Смежные вопросы