конструктор - CodeIgniter

1

Может ли кто-нибудь сказать мне, почему конструктор в коде контроллера использует parent :: __ construct? Я знаю только потому, что это использовать метод в родительском классе, который находится внутри CI_Controller. Если да, то почему конструктор в коде модели не использует parent :: __ construct?

class News extends CI_Controller
{

public function __construct()
{
    parent::__construct();
    $this->load->model('news_model');
} 



class News_model extends CI_Model
{
public function __construct()
{
    $this->load->database();
}
Теги:
codeigniter
constructor

2 ответа

0
Лучший ответ
  • Причина, по которой эта строка необходима, состоит в том, что ваш локальный конструктор будет переопределять один из классов родительского контроллера, поэтому нам нужно его вручную вызвать.
  • Конструкторы полезны, если вам нужно установить некоторые значения по умолчанию или запустить процесс по умолчанию при создании экземпляра класса. Конструкторы не могут вернуть значение, но могут выполнять некоторую работу по умолчанию.

Прочтите конструкторы Codeigniter

И Возможный дубликат PHP Codeigniter - parent :: __ construct

пример

public function  __construct()
{
    parent::__construct();
    $this->load->helper('date');
    $this->load->library('session');
    $this->load->model('My_model');
    $this->load->library('cart');

}
0

вам нужно включить parent::__construct(); для включения инициализации конструктора по умолчанию конструктора по умолчанию, если вы не включаете, что вы переопределите конструктор родительского класса. function __construct() всегда запускается при создании экземпляра класса, поэтому, если вы хотите загрузить некоторые библиотеки или инициализировать какое-то значение, это полезно для его размещения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню