Обновление от 1.7.2 до 2.0.0
Перед выполнением обновления вы должны выключить ваш сайт, заменив index.php статичной версией.
Шаг 1: обновите файлы CodeIgniter
Замените все файлы и поддиректории в директории system, за исключением вашей директории application.
Примечание: Если вы модифицировали вручную какие-то файлы в этих директориях, не забудьте сделать их копии.
Шаг 2: Исправьте get_dir_file_info() там, где необходимо
Версия 2.0.0 принесла обратную несовместимость с get_dir_file_info() в помощнике File. Обратная несовместимость — экстремально редкое явление в CodeIgniter, но мы чувствуем, что в данном случае это оправданно из-за того, что можно было создать серьезные проблемы с производительностью. Если вам нужна рекурсия, там, где вы используете эту функцию помощника, замените вызовы, установив второй параметр $top_level_only в FALSE:
get_dir_file_info('/path/to/directory', FALSE);
Шаг 3: Конвертируйте ваши плагины в помощники
2.0.0 избавляется от системы плагинов, в пользу идентичных по функциональности, но нерасширяемых помощников.
Переименуйте файлы плагинов filename_pi.php в файлы помощников filename_helper.php, переместите их в вашу директорию helpers и замените все вызовы:
$this->load->plugin('foo');
на
$this->load->helper('foo');
Шаг 4: Обновите хранящиеся зашифрованные данные
Примечание: Если ваше приложение не использует библиотеку Encryption, и не хранит зашифрованные данные, или работает в окружении, не поддерживающем Mcrypt, вы можете пропустить этот шаг.
Библиотека Encryption получила ряд улучшений, некоторые для увеличения силы шифрования, и некоторые для производительности, которые сделани невозможным использование зашифрованных данных ранней версией этой библиотеки. Чтобы помочь с миграцией, был добавлен новый метод encode_from_legacy(), Который декодирует данные из оригинального алгоритма и возвращает перекодированные строки, используя улучшенные методы. Это позволит вам легко заменить старые данные новыми в ваших приложениях, на лету или массово.
Пожалуйста прочтите как использовать этот метод в документации библиотеки Encryption.
Шаг 5: Удалите вызовы помощника compatibility.
Помощник compatibility был перемещен из ядра CodeIgniter. Все его методы теперь доступны в поддерживаемых версиях PHP.
Шаг 6: Обновите расширение классов
Все классы ядра имеют префикс CI_. Обновите модели и контроллеры, чтобы они расширяли CI_Model и CI_Controller, соответственно.
Step 7: Обновите вызовы родительского контроллера
Все родные классы CodeIgniter теперь используют соглашение PHP 5 __construct(). Пожалуйста обновите расширенные библиотеки вызовами parent::__construct().
Шаг 8: Обновите ваше руководство пользователя
Пожалуйста замените вашу локальную копию руководства новой версией, включая файлы изображений.