Обновить

Комментарии 24

На всякий случай спрашиваю.

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

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

Это сарказм?

Вы что, никто не испытывали чувство состоятельности проекта, ещё на этапе выбора фреймворка? А выпавшие волосы, кстати, будут лёгкие и шелковистые.

mSnus

Благодарю за комментарий.

Если под «проектом» понимать фреймворк, то у каждого проекта найдутся «за» и «против».

Чтобы быстро всё «взвесить» и был собственно предложен репозиторий на GitHub.

ainu.

Благодарю за комментарий.

Это не сарказм и не ирония.

Это впечатление от CodeIgniter4 , документация к которому (на момент написания этого комментария) доступна только на английском, поэтому может сложиться мнение, что проект не развивается.

Но проект мощно развился со времён CodeIgniter3.

Обратить внимание профессионалов к новой возможности решения задач web-разработки и было движущей силой в написании данного поста.

Поскольку документация написана хорошим, технически понятным языком, то в процессе ознакомления с этим и другими разделами возможно получить даже некоторое эстетическое удовольствие.

А у кого плохим? Как по мне любой популярный фреймворк (Yii, Symfony, Laravel, Zend) имеет хорошую и понятную документацию. Для Yii она еще и на русском по большей части. Чем CodeIgniter принципиально отличается своей документацией?

В CodeIgniter 4 есть практически всё, что требуется при разработке современного web-проекта практически любой сложности

А у кого нет? Миграции, Роутинг, DAO, ORM, MVC реализацию есть у всех фрейморков. У Yii например есть готовые докер файлы которые просто запускаются и работают. Есть serve сервер. Что есть у CI?

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

А вы точно пытались? Там вроде все просто (на примере CLI):

composer create-project codeigniter4/appstarter [name]

Далее создаете контроллер и запускаете его через:

php index.php [controller] [action]

В чем не "рабочесть" данного примера?

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

Тема не раскрыта о слова совсем. Могли бы хотя бы заявленный функционал засунуть в статью, а то вникать в структуру CI если никогда с ней не работал - нет смысла, а для информации было бы интересно (наверное). Если конечно там что-то новое и отличающееся от документации: https://codeigniter.com/user_guide/dbmgmt/migration.html и https://codeigniter.com/user_guide/dbmgmt/seeds.html

rpsv

Благодарю за комментарий.

Вы правы :composer create-project codeigniter4/appstarter [name]

Этот метод установки подойдет разработчику, который хочет начать новый проект на основе CodeIgniter4. (This installation technique would suit a developer who wishes to start a new CodeIgniter4 based project.) Раздел: «App Starter».

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

Для быстроты получения конечного варианта, собственно, и был предложен вариант готового решения «First Application» в репозитории на GitHub.

Все необходимые пояснения даны в документации CodeIgniter4 и на GitHub'е. На каждое такое пояснение в статье присутствует соответствующая ссылка.

CodeIgniter хорошо, когда надо написать простой CRUD и забыть о нём. Если что-то сложнее -- все равно ставить Laravel.

Restful API со сложной бизнес логикой и трехэтажными запросами к БД отлично идёт на CI4

С учетом того, что SPA нынче вполне себе стандарт в web приложениях, CI4 прекрасно подходит для полноценного бэкэнда

Ну а его простота даёт ему скорость по сравнению с другими PHP фреймворками

Ну а его простота даёт ему скорость по сравнению с другими PHP фреймворками

Из-за простоты, или есть бенчмарки? Если простота = скорость (что в целом логично), то возьмите Slim для REST, он отлично справится, да к тому же еще проще и еще легче. Зачем в этой ситуации CI тогда?

Бенчмарки есть. Разные. Большинство, конечно, аффилированных, так что лучше самому повыбирать, если интересно

Slim, по сути, просто роутинг, а может понадобиться еще MVC, приблуды для Rest , а model CI4 данных вообще очень приятная и красивая штука для работы с БД.

По закону 20/80 CI4 дает 80% нужного функционала за 20% "сложности" проекта

model CI4 данных вообще очень приятная и красивая штука для работы с БД.

Посмотрите Yii db , вообще с ума сойдете :D

Вроде бы говорили о простых PHP фреймворках

Не понимаю, как перескочили на Yii

А когда Yii стал сложным? Ничего вам не мешает поднять на Yii REST API где будут контроллеры, AR и собственно все.

У меня есть такое ощущение, что CI не дотягивает до "больших" дядек (Yii, Symfony, Laravel), но уже не такой "маленький" (Slim, Lumen, Silex), и поэтому вообще не понятно зачем он нужен.

gmtd

Благодарю за комментарии

и за нужные слова в «освещении» CodeIgniter4.

Слова, которые подразумевались, но высказаны были вами.

Если что-то сложнее -- все равно ставить Laravel

Вы опечатались. Если что-то сложнее CRUD, то лучше не ставить Laravel

Не для спора, а для интереса: почему?

Слишком много магии и неявного поведения. В крупных системах это усложняет отладку и поддержку.

Очень много статики и фасадов. Да, это ускоряет разработку, но имеет неприятную цену. Лучше без них.

Ну, и, да - Eloquent отвратителен :D

Если же от лары оставить только роуты, хелперы и прикрутить орм вида доктрины, то какие у него остаются преимущества перед микрофреймворками?

В общем, несмотря на большой прогресс в самой ларе, она сильна экосистемой. И там все не очень хорошо.

Fortop

Благодарю за комментарий.

Именно многое полезное из Laravel , Symfony, etc. взял «на вооружение» CodeIgniter4,

сохранив присущие ему простоту, логичность и возможность расширяться благодаря механизмам composer.

сохранив присущие ему простоту, логичность и возможность расширяться благодаря механизмам

Дак любой проект, на любом фреймворке расширяем благодаря composer. Это вообще не заслуга CI.

Именно многое полезное из Laravel , Symfony, etc. взял «на вооружение» CodeIgniter4,

А можно уточнить что именно? После диагонального чтения доки, я только увидел класс Factory, который напоминает Laravel где за фасадом прячется (да я в курсе что это фабрика)

rpsv:

>А можно уточнить что именно?

Как пример.
CodeIgniter3 был всем хорош, но не использовал Composer и Command Line по разным объективным причинам (только, пжлста, не надо и тут что-то уточнять). Все задачи эффективно решались другими логичными для своего времени способами.
Если вам действительно интересно можете прочитать, хотя бы «диагонально», CodeIgniter(3) User Guide. Возможно после прочтения вы тоже разделите симпатию профессионалов к CodeIgniter3 .

В CodeIgniter4 есть и Composer Installation со всеми его возможностями расширения вашего проекта до любых «модульных высот» (привет Laravel'у ,  Symfony'и, etc.),
а также Command Line Usage с, в том числе CLI Generators,

т.е. одни из основных моментов, которые в своё время были выгодно представлены
в Symfony, Laravel и, кстати, в Yii.

Есть, конечно же, и другие «моменты». Но объём информации не предполагает формат комментария.

Т.е. все сходство, это использование composer всеми перечисленными фреймворками? Ладушки

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации