Оглавление
CodeIgniter
Лёгкий фреймворк с простой структурой: маршруты, контроллеры, модели и минимум настроек.
1.Начало работы
- Знакомство с CodeIgniterЧто такое CodeIgniter 4, как создать проект, какие папки в нём лежат и как увидеть первую страницу.
- Консольная программа sparkЧто такое spark в CodeIgniter: запуск сервера, список команд, справка и команды make для создания файлов.
- МаршрутыМаршруты CodeIgniter: файл app/Config/Routes.php, методы HTTP, параметры в адресе, имена маршрутов, группы и функция url_to.
- КонтроллерыКонтроллеры CodeIgniter: папка app/Controllers, команда make:controller, методы-действия, параметры из адреса и класс BaseController.
- Запросы и ответыКак в контроллере CodeIgniter прочитать параметры адреса и поля формы и вернуть ответ: текст, перенаправление или JSON.
- ШаблоныШаблоны CodeIgniter: папка app/Views, функция view, передача данных из контроллера, экранирование через esc, условия и циклы.
- Макеты, секции и части шаблоновМакеты в CodeIgniter: общий каркас страницы, методы extend, section и renderSection, подключение частей шаблона через include.
- ПомощникиПомощники CodeIgniter: функция helper, помощник url для адресов и ссылок, автоматическое подключение и свой файл в app/Helpers.
- Настройки и файл .envНастройки CodeIgniter: классы в app/Config, функция config, собственный файл настроек, переопределение значений в .env и режимы работы.
2.База данных
- Подключение к базе данныхКак подключить CodeIgniter к MySQL: настройки database в файле .env, команда db:create и проверка соединения из контроллера.
- МиграцииМиграции в CodeIgniter: команда make:migration, описание таблицы через Forge, выполнение, откат и изменение структуры таблицы.
- СидерыСидеры в CodeIgniter: команда make:seeder, заполнение таблицы начальными данными, запуск через db:seed и вызов нескольких сидеров.
- МоделиМодели CodeIgniter: команда make:model, свойство allowedFields, чтение записей методами find и findAll, сохранение через save и удаление.
- Построитель запросовQuery Builder в CodeIgniter: выборка с условиями, сортировка, соединение таблиц, вставка и изменение строк, запросы SQL с параметрами.
- СущностиСущности в CodeIgniter: команда make:entity, объекты вместо массивов, приведение типов, даты и собственные методы записи.
- Постраничный выводПостраничный вывод в CodeIgniter: метод paginate модели, объект pager, ссылки на страницы в шаблоне и настройки в app/Config/Pager.php.
3.Приложение
- Проверка данныхПроверка данных в CodeIgniter: правила в контроллере, методы validateData и validate, список правил, свои сообщения и наборы правил.
- ФормыФормы в CodeIgniter: помощник form, страница с формой и её обработчик, защита от CSRF, вывод ошибок проверки и функция old.
- Сессии и сообщения на один запросСессии в CodeIgniter: функция session, запись и чтение значений, flash-сообщения после перенаправления и настройки в app/Config/Session.php.
- ФильтрыФильтры в CodeIgniter: команда make:filter, методы before и after, регистрация в app/Config/Filters.php и подключение к маршрутам и группам.
- Вход на сайтАутентификация в CodeIgniter: таблица пользователей, хеш пароля, контроллер входа и выхода через сессию и официальный пакет Shield.
- Загрузка файловЗагрузка файлов в CodeIgniter: форма с файлом, метод getFile, правила uploaded, is_image и max_size, сохранение под безопасным именем.
4.Развитие проекта
- REST APIAPI на CodeIgniter: класс ResourceController, маршруты resource, методы respond и fail, приём JSON и ResponseTrait в обычном контроллере.
- КешированиеКеш в CodeIgniter: функция cache, методы save, get, remember и delete, кеширование целой страницы и настройки в app/Config/Cache.php.
- Отправка почтыПочта в CodeIgniter: настройки SMTP в .env и app/Config/Email.php, служба email, письмо из шаблона, вложения и проверка отправки.
- Свои команды sparkСобственные команды spark в CodeIgniter: make:command, класс BaseCommand, аргументы и параметры, вывод в терминал и запуск по расписанию.
- Журнал и страницы ошибокЖурнал в CodeIgniter: функция log_message, уровни и папка writable/logs, порог в app/Config/Logger.php и свои страницы ошибок 404 и 500.
- Основы тестированияТесты в CodeIgniter: папка tests, запуск PHPUnit, класс CIUnitTestCase, проверка страниц через FeatureTestTrait и тесты с базой данных.
- Размещение на сервереКак разместить проект CodeIgniter на сервере: папка public как корень сайта, файл .env, права на writable, миграции и команда optimize.