Pull to refresh

Фреймворк на PHP: CodeIgniter 4. «Лёгкий пример» использования Database Migrations (миграций) и Seeding (посев)

Reading time2 min
Views7.9K

​ Copyright 2021, codeigniter.com: a project of the CodeIgniter Foundation
​ Copyright 2021, codeigniter.com: a project of the CodeIgniter Foundation

Познакомиться с PHP фреймворком CodeIgniter 4 достаточно просто.

Нужно потратить вечер, выполняя инструкции из раздела  «Build Your First Application» («Создайте свое первое приложение»). Поскольку документация написана хорошим, технически понятным языком, то в процессе ознакомления с этим и другими разделами возможно получить даже некоторое эстетическое удовольствие.

Ощущение воздушности и состоятельности проекта CodeIgniter 4 будет присутствовать с вами теперь повсеместно. И Когда вы будете изучать (или уже изучили) другие платформы на PHP: Laravel , Symfony и т.п. Или на Python, как иногда в шутку, но со всем уважением, говорят язык одного фреймворка : Django .

Чем же привлекателен CodeIgniter 4 , именно 4 (последний на написание этого поста)?

В CodeIgniter 4 есть практически всё, что требуется при разработке современного web-проекта практически любой сложности. В достаточно компактной документации охватываются все направления современной web-разработки. Разделы, где это требуется, наполнены понятными примерами, даются объяснения как использовать "гибкость" заложенную во фреймворк изначально.

Возможно исходя из заботы о программистах, которые разработчики CodeIgniter 4 проявили в отношении специалистов, начинающих знакомиться с их проектом, всё изложено очень последовательно, логично и легко для понимания.

Но есть один момент, который возможно будет решён в CodeIgniter 5, нет возможности сразу получить целиком «рабочий пример» из «Installation» или «Command Line» (через php spark) .

Неудобство отсутствия «рабочего примера» особенно сказывается тогда, когда возникает необходимость «освежить в памяти» всю специфику фреймворка CodeIgniter 4.

Столкнувшись «с таким моментом» несколько раз, подумалось, что будет полезно иметь под рукой «рабочий пример» «Build Your First Application» («Создайте свое первое приложение»), разместив его

в репозитории на GitHub'е.

Возможно в репозитории слишком детально всё изложено, но это лишь с целью свести к минимуму время на развёртывание «рабочего примера» на локальном компьютере. В представленном на github репозитории в оcнове лежат XAMPP (windows), git bash. Во всяком случае всё развёртывалось и функционировало у автора данного скромного поста.

Есть ещё один полезный момент.

«Развёртывание» базы данных из репозитория «рабочего примера» реализовано не через SQL, как в документации, хотя дамп базы данных присутствует, а с использованием Database Migrations (миграций) и Database Seeding (семян). Именно того, что в том числе, делает надёжным production: сопровождение, масштабирование и etc. любого современного web-project'а командой из любого количества специалистов и разного уровня подготовки и опыта.

Реализация тестирования на PHPUnit для web-проекта любой сложности также представляется удобной и логичной, но это видимо требует отдельного «лёгкого репозитория» на github'е и отдельной статьи на Хабр . Конечно, при условии, что данные вопросы интересны инженерному сообществу, а не только автору.

Буду рад, если этот пост окажется для кого-то полезным.

Tags:
Hubs:
Total votes 8: ↑2 and ↓6-4
Comments24

Articles