Почему функция конструкции создает проблему в codeigniter 3?

Я новичок в Codeigniter 3.x, в Codeigniter 3.x, когда я пишу

class Auth extends CI_Controller {

public function __construct() {
parent::__construct();
echo "ya";
}
}

это показывает мне ошибку

404 Page Not Found

The page you requested was not found.

и когда я пишу

class Auth extends CI_Controller {

public function __construct() {
parent::__construct();
echo "ya";
}
public function index() {
echo "aya";exit;
}
}

он работает нормально и показывает вывод как {yaaya}.
кто-нибудь может дать мне знать, у тебя это?

1

Решение

Причина этого заключается в том, что вы запускаете URL

Http: //ip/cifolder/index.php/controller

По умолчанию это выглядит в index() этого контроллера

Если вы используете URL, как

Http: //ip/cifolder/index.php/controller/function

Это будет смотреть на эту функцию вашего контроллера

и если вы не написали какую-либо функцию в вашем контроллере просто __construct

function __construct() {
parent::__construct();
}

это означает, что нет функции index (), это покажет вам 400 error

1

Другие решения

Это происходит потому, что CI искал это index() когда вы не указали, какое действие нужно предпринять. Для первого случая его нет, поэтому выкинуло ошибку. Но во втором случае так оно и было. ты не можешь позвонить __construct() в явном виде.

Шаблон URL по умолчанию, который он ищет controller/action, Если action не предусмотрено, что он будет искать index() в этом контроллере.

Так что, когда он получит index()это создает экземпляр класса контроллера и __construct() позвонить

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector