Получите помощь, поддержку и профессиональное общение в Клубе CodeIgniter

# CodeIgniter User Guide Version 2.1.0

Search User Guide

# Обновление от 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: Обновите ваше руководство пользователя

Пожалуйста замените вашу локальную копию руководства новой версией, включая файлы изображений.

### Поделиться

Переведено в компании Аринт.

# Спасибо!

Вы тоже можете оказать помощь проекту! Как это сделать?

## Помощь и поддержка

Вы можете задать вопросы и получить ответы и советы от гуру CodeIgniter и веб-разработки: вступайте в Клуб CodeIgniter