Познакомиться с 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 репозитории в оcнове лежат XAMPP (windows), git bash. Во всяком случае всё развёртывалось и функционировало у автора данного скромного поста.
Есть ещё один полезный момент.
«Развёртывание» базы данных из репозитория «рабочего примера» реализовано не через SQL, как в документации, хотя дамп базы данных присутствует, а с использованием Database Migrations (миграций) и Database Seeding (семян). Именно того, что в том числе, делает надёжным production: сопровождение, масштабирование и etc. любого современного web-project'а командой из любого количества специалистов и разного уровня подготовки и опыта.
Реализация тестирования на PHPUnit для web-проекта любой сложности также представляется удобной и логичной, но это видимо требует отдельного «лёгкого репозитория» на github'е и отдельной статьи на Хабр . Конечно, при условии, что данные вопросы интересны инженерному сообществу, а не только автору.
Буду рад, если этот пост окажется для кого-то полезным.