Как стать автором
Обновить

Комментарии 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 всеми перечисленными фреймворками? Ладушки

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

Публикации

Истории