В любой версии до 2 Controller
является базовым классом контроллера (который вы бы расширили с помощью MY_Controller).В версии 2 и выше вам нужно расширить CI_Controller
, поскольку это новое имя для базового класса контроллера.
Для всех, кто сталкивался с этим, CI2 переместил несколько файлов классов из /libraries
вновый каталог /core
.Если вы посмотрите на system/core
, то каждый класс, который вы там видите, теперь использует префикс CI_
- включая Model (теперь CI_Model), Input, Loader, Lang и многие другие.Если вам необходимо перегрузить или расширить эти библиотеки, теперь они должны находиться в каталоге application/core
.Вы по-прежнему будете использовать префикс MY_
, чтобы расширить их, или то, что вы установили в своем $config['subclass_prefix']
.
С выпуском версии 2 CI разделился на две ветви: Core и Reactor.Не смущайтесь - они оба CodeIgniter, но любая ссылка на «Reactor» - это текущая версия, управляемая сообществом, которая предлагается в качестве основной загрузки на веб-сайте, тогда как Core - это более старая версия EllisLabs с меньшим количеством функций.С веб-сайта CI:
"Проще говоря, Reactor = CodeIgniter".
Подробнее об изменениях в ветке можно узнать здесь здесь .
Обновление с 1.7.2 до 2.X легко.Как всегда, обязательно прочитайте журнал изменений и инструкции по обновлению при обновлении до новой версии.
Что касается закрывающего тега: он является необязательным, но вы должны избегать его, когда это возможно, так как это может привести к появлению пробела в скрипте (что угодно после закрывающего тега), что может испортить заголовки и появиться в вашем выводе.Как известно, руководство пользователя рекомендует вам не использовать его .