CodeIgniter 3, актуализация от 1

Преди да започнете актуализацията, трябва да прехвърлите сайта в режим "офлайн", като замените файла index.php със статичен.

Стъпка 1: Актуализирайте файловете на CodeIgniter

Заменете всички файлове и папки в директорията "system".

Ако тези папки съдържат вашите файлове, първо трябва да направите копия от тях.

Стъпка 2: Задайте get_dir_file_info(), където е необходимо

Версия 2.0.0 връща невръщаща се промяна на get_dir_file_info() във File Helper. Промените без връщане са много редки в CodeIgniter, но ние вярваме, че тази промяна определено гарантира възможността за лесно създаване на сериозни проблеми при изпълнението от страна на сървъра. Ако се изисква рекурсивност, когато използвате тази помощна функция, променете втория параметър, $top_level_only, на FALSE, както в примера:

Стъпка 3: Преобразувайте плъгини в помощници

2.0.0 се отървава от системата „Plugin“, като тяхната функционалност е дефинирана като помощни, но неразширяеми. Ще трябва да преименувате файловете на приставката от filename_pi.php на filename_helper.php, да ги преместите в папката helpers и да промените всичко, както в примера:

Стъпка 4: Актуализирайте запазените криптирани данни

Ако вашето приложение не използва библиотеката за шифроване, не съхранява постоянно криптирани данни или е среда, която не се използва от Mcrypt, можете да пропуснете тази стъпка.

Библиотеката Encrypt има много промени, някои за най-силното криптиране и други за изпълнение, това беше неизбежна последица от невъзможността да се декриптират данни със старата версия на тази библиотека. За да помогне с прехода, беше добавен нов метод encode_from_legacy(), който ще декриптира данните с помощта на оригиналния алгоритъм и ще върнепрекодираните данни за текущия метод. Това ще осигури на вашето приложение лесна замяна на стари данни с нови, както в движение, така и предварително подготвени.

Моля, вижте документацията как да използвате този метод за библиотеката Encrypt.

Стъпка 5: Премахнете съвместими извиквания за помощно зареждане.

Съвместимият помощник е премахнат от ядрото на CodeIgniter. Всички методи трябва да бъдат пренаписани в родния PHP.

Стъпка 6: Актуализирайте класа за разширение

Всички основни класове вече имат префикс CI_. Променете моделите и контролерите съответно на CI_Model и CI_Controller.

Стъпка 7: Актуализирайте извикването на родителския конструктор

Всички родни класове на CodeIgniter вече използват конструкцията PHP 5 __construct(). Моля, актуализирайте разширените библиотеки с parent::__construct().

Стъпка 8: Преместете всички основни разширения в приложение/ядро

Всички разширения на основни класове (т.е. MY_Controller.php) в папката application/libraries трябва да бъдат преместени в директорията application/core.

Стъпка 9: Актуализирайте ръководството за потребителя

Моля, също така заменете вашето локално копие на ръководството за потребителя с новата версия, включително файловете с изображения.

Актуализиране на бележки

Моля, вижте регистъра на промените 2.0.0 за повече подробности, но ето някои от най-важните промени, които ще засегнат вашия код:

конфигурационна папка

Следните файлове са променени:

  • config.php
  • база данни.php
  • mimes.php
  • routes.php
  • потребителски_агенти.php

Добавени са следните файлове: