CodeIgniter стал прекрасней, благодаря Bonfire

О чем это я...


Да, действительно, все наверное уже забыли (а кто-то может и не вспоминал), что такое CodeIgniter и давно его не рассматривают как полноценный фреймворк. Все довольно таки в нём просто: контроллеры, модели, отображения — и в каждом элементе MVC почти «чистый PHP». Никаких тебе миграций, модулей, окружений и прочих прелестей для удобной работы.

Сам я молодой программист, всего лишь год программирую на php, и из этого времени довольно таки много работал с этим фреймворком. Но на самом деле он очень хорош для общего представления об архитектуре MVC и для новичков, по-моему, просто не заменим. Смею сказать, что работаю также на YII и Symfony, и на самом деле с них было бы мне, например, нереально начать бороздить возможности PHP-фреймворков.

Изучая все больше и больше php и технологии, в которых удобно разрабатывать веб-приложения, я все дальше и дальше (да-да, всего лишь год «службы») отходил от CI и восхищался красотой и эргономичным использованием Symfony. Но вот тут совсем недавно натолкнулся на Bonfire — мощное дополнение к CodeIgniter.

Bonfire — феникс для CodeIgniter


Кто уже давно работает на CI, знает его угасающую популярность и использует много дополнений, которые расширяют творческий ареал фреймворка. Либо постепенно переходят к «меньшим» братьям, что вполне себе предсказуемо. После знакомства с Bonfire, а именно с финальной версией 0.7, которая вышла в конце октября этого года, я снова захотел вернуться в разработку на CodeIgniter, и доделывать на нем то, что начал раньше — это псевдоCMS. То есть что-то между CMS и CMF, для форсированного создания простых сайтов на основе модулей. И вот как раз, Bonfire мне помогает в этом плане.

Почему об этом стоит говорить?


Ну об актуальности быстрой загрузки сайтов говорить не стоит. Для этого можно почитать рекомендации Ларри Пейджа по оптимизации. Именно у Bonfire преимущества огромные, по сравнению с «сырым» CodeIgniter, да и в плюсы можно отнести, что местами кое-что сложней организовать на других платформах. О невозможности, разумеется, я не говорю, так как пока на меня влияет фактов эргономичности разработки. Совсем коротко сделаю обзор. Пожалуй, начнем. (потираю ладони)

Веб-Интерфейс разработчика

Bonfire

Разумеется, в сфере php-индустрии это не ново, и есть аналоги для каждого фреймворка, например GII от Yii и SymfonySMF (могу тут ошибиться с примерами, гуру меня поправят). Очень порадовало, что через веб-интерфейс есть возможность создания/редактирования модулей, контекстов (грубо говоря, в Bonfire так называется категория модулей), управление юзерами, миграциями и много еще чего.

Все самое лучшее от ведущих фреймворков

Очень понравилось, что теперь можно использовать более гибко структуру HMVC, что характеризуется несвязностью модулей друг от друга. Разумеется, архитектура HMVC в CodeIgniter была и с расширением Modular Extensions — HMVC 5, но все же она стало более удобной в сочетании с использованием шаблонов и макетов (layouts & themes), которые также могут применяться неоднократно. Использование миграций также очень сильно повлияло на мое впечатление. Удобная работа с активами (assets), c окружениями и даже есть тестирование.

Минусы, куда же без них


Да, без них никуда. Главный минус, это то, что проект немного сыроват и вылетают иногда ошибки. Но пока я не сталкивался с той проблемой, которую бы не смог поправить, так как все сделано на простом CodeIgniter. Также к минусам отнесу отсутствия «русскоязычности» для проекта. Хотя для меня, например, наоборот это плюс, параллельно изучаю английский язык. В идеале же хотелось бы хорошего сообщества и русской документации. Блин, а с минусами все…

Итог


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

Похожие публикации

Комментарии 16
    +5
    Статья получилась под впечателнием и поэтому она совершенно ни о чем.
      0
      Спасибо за ваше мнение! Но как видно из статьи, я так не считаю, и мне Bonfire лично помог для работы в CodeIgniter. Он расширил базовые возможности фреймворка и предал мне удобства для работы.
        +3
        Ни о чем — это не про Bonfire, а про текст статьи. Половина статьи — вступления. Я понял, что вам он понравился. Но почему мне стоит его использовать — ни слова.
          0
          Да, согласен, исправлюсь в продолжении. Целью данного топика я посчитал описание основных аспектов вкратце, а потом уже думал, если, действительно, кому-то может стать полезным, сяду и напишу подробно.
      –2
      Посмотрел код на гитхабе.
      Да, прикрутили бутстрап, круто.
      А внутри все тот-же кодеигнайтеровский лютый п**ц.
      Да когда же его уже закопают, некрофилы хреновы!
        0
        Эх, ну да ладно! Будем считать, что это первый блин!
          +1
          А еще недавно хабр пестрел статьями о том как прекрасен CI…
            +1
            Мое мнение, он и в вправду прекрасен до сих пор (согласно дополнениям в статье, разумеется). Но не для тех, кто любит усложнять все. Всему свое время. Нужно правильно понимать, что такое Zend/Symfony и что такое CodeIgniter. Я не в коем случае CI не выношу за грань «сверхъестественного» и говорю что, мол, ребята, бросайте ваше тщетное пребывание в альфа-релизе Yii2 и хватайтесь за передовые технологии php-фреймворка Cibonfire. Конечно, нет. (хотя было бы прикольно :)).

            Статья/вступление, как вам угодно (и если «дай ХабраБог» и её продолжение) для тех, кому нравится простота CI. Кто хочет создавать быстро несложные сайты, не имея ограничений (например, CMS), которые порой усложняют жизнь, а имея за собой знания CI, модульное представление проектов и просто любителей «несложного» программирования (ЭТО НЕ ПРОПАГАНДА!).

            Люди разные… Согласен, тема, не самая популярная (не про всемогущую децентрализованную «монету»), но все же, я, будучи на месте читателя немного пораньше, нашел бы в ней для себя решение. Да, увы, я сторонник мнения, что писать надо для тех, на месте которых я бы получил пользу.

            Насчет отсутствия навыков написания статей — приму к сведению.
              0
              Я с самого начала php-кодинга (а уже 8+ лет) не использовал фреймворки и ООП, потом начал использовать ООП везде где не попадя, потом и CI попробовал с MVC плотнее познакомился. И хочу сказать что оно (фрейморк) конечно удобно и красиво, но скорость и возможности оптимизации (для определенных проектов) стремится к нулю. Нет ничего быстрее чистого языка, как ни крути. Плевался и в итоге проект понемногу переписываю на набор простых (выполняющих одно-два действия) скриптов, которые не подводили 8 лет назад и не подводят сейчас.
                +1
                Это хорошо, если у вас уже есть свой набор библиотек (скриптов), которые уже 100 раз подвергались тестам и рефакторингу. А вот если их нет, то «сырой» код может принести больше «опасностей», больше времени на расширяемость функционала и больше трудозатрат на его поддержку. Наверно, для этого и придумали фреймворки. А так, я с вами согласен, «своя рубашка ближе к телу». Надо стремиться к своей независимости кода.
                  0
                  Вы из одной крайности в другую кинулись — вот же угораздило :)
            0
            Примерно пол года назад, а может и более, наткнулся на сей проект и очень возрадовался — это же именно то, чего не хватало фрейморку из коробки, думал я, ну теперь то дело пойдет пойдет в гору, теперь то пошаманим, к моему большому сожалению, проект оказался жутко сырой, у меня например сыпались ошибки еще на уровне установки, дальше хуже — подчеркну что тестировал на трех своих хостингах, это не была попытка одного дня, мне очень нравилась идея и я был готов за нее побороться, но варианты выпадения 500 и других ошибок просто ни с того не сего свели мои надежды в могилу(
            Может быть опробую снова, но сейчас это больше напоминает анекдот про Мыши плакали, кололись, но продолжали грызть кактус :D
              0
              Ну в последней версии (0.7) больших проблем у меня не возникает. Хотя кое-что под себя все равно приходится подстраивать. И кстати, привязал к нему grocery crud, так теперь вообще шикарно! Мне он тоже очень понравился, и я в нем нашел то, что давно искал. Рекомендую для, как было сказано выше, «некрофилов» :)
                0
                Аха «некрофилов» — смешно, а те кто Kohana используют тогда кто — педофилы что ли?)
                  0
                  Действительно. В каждом фреймворке можно найти много «полезностей». Главное просто, знать, как их использовать. Ну личное удобство использования, разумеется, тоже важный фактор. А так, по идее, на CI можно сделать что угодно и безопасно, там также есть CSRF-защита, использование плейсхолдеров и тд. Зендовцы ща тонко намекнут на отсутствие обфускаций :)
              0
              Видел CI Bonfire ещё более года назад. Ничо особенного, а главное с тех пор он особо не изменился, из чего я делаю вывод что проект дохлый, как и сам CI, впрочем. И если отсутствие развития CI можно назвать «стабильностью» и он до сих пор прекрасен в своей простоте и низком пороге вхождения, то такая вещь как CIBonfire без развития совершенно не интересен.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое