Проблема с post_controller_constructor заключается в том, что он запускается после конструктора (как ни странно), и если вы используете конструкторы Controller для многих вещей, это может быть проблемой.
Если это не проблема для вас (ваш помощник не повлияет на что-либо, запущенное или загруженное в ваши конструкторы) достаточно справедливо, если это проблема, у вас есть два решения.
- Вместо хука введите ваш код в MY_Controller
Создайте MY_Controller и добавьте пользовательскую точку подключения.
class MY_Controller extends Controller
{
function MY_Controller()
{
parent::Controller();
$GLOBALS['EXT']->_call_hook('pre_controller_constructor');
}
}
Обратите внимание, что если вы используете CodeIgniter 3.0 или новее, функция _call_hook
была переименована в call_hook
.