2015-11-11 5 views
0
class upload extends CI_Controller { 

function __construct() { 
    parent::__construct(); 
    $this->load->helper(form); 
} 

Я искал этот вопрос и нашел один или два, но никто не ответил ясно, пожалуйста, объясните мы вызываем родительский __constructor расширенного класса, как сказал учебники, некоторые веб-сайт говорит, что этот шаг необходим, так как требуется переопределить родительский класс http://tutorialsplane.com/codeigniter-controller-constructor, и когда я посмотрел в базовой библиотеки я нашел описание конструктора контроллера по умолчаниюtrue для использования parent :: __ construct() в codeigniter?

Назначьте все объекты класса, которые были созданы с помощью файла начальной загрузки (CodeIgniter.php) для локальных переменных класса , чтобы CI мог работать как один большой супер объект.

и, наконец, кто-то говорит, что requrid загрузить контроллер https://dzone.com/articles/getting-started-php-framework теперь я совершенно запутался делает это требуется для использования методов контроллера, так почему мы inhirited класса контроллера и какова польза от переопределяя родителей конструктор
, пожалуйста, помогите ................................

+0

_constructor исходный код http://apigen.juzna.cz/doc/EllisLab/CodeIgniter/source-class-CI_Controller.html#34-54 –

ответ

0

Нет никакой явной выгоды переопределения конструктора ,

Однако, , если вы хотите переопределить его по какой-либо причине (который в этом случае вы хотите загрузить помощника), вы должны вызвать родительский конструктор, чтобы поддерживать его функциональность в такте.

Если вам не нужна какая-либо пользовательская логика в конструкторе, вам вовсе не нужно объявлять метод __construct(), и в этом случае вы просто наследуете родительский.

+0

вот почему я удушаю. Я могу загрузить помощника через любое место в дочерний класс без вызова родительского конструктора, я просто не знаю, что родительский конструктор добавит в мой дочерний класс .... спасибо –