Здравствуйте уважаемые!
Сейчас будет многабукаф, прошу прочитать мои сомнения внимательно и помочь мне определится с выбором уходить с CI или нет.
Суть вопроса: я никогда не был фанатом ORM и прочих консолей разработчика, мне всегда нравился и будет нравится минимализм CI, потому что самое нужное в нем есть. Но вновь встал вопрос перехода. Я честно говоря переходить НЕ ХОЧУ потому что
1) CodeIgniter быстрее всех и вся. Быстрее только чистый пхп. Ну может быть еще некоторые микрофреймворки ...
2) Свободная архитектура: можно безнаказанно выполнять SQL-запросы в контроллерах, вызывать функции находящиеся в модели при генерации какого-то блока в отображениях, пользоваться хелперами, не пользоваться хелперами, подключение сторонних библиотек как правило не вызывает особых проблем, роутинг урлов простой, понятный и работает четко, хочешь русские ЧПУ -- ноу проблем и т.д. и т.п.
3) Работа с БД. Все более-менее сложные запросы пишутся руками. Всякую мелочь вроде "SELECT * FROM table WHERE `ololo` = '1' AND `lalala` = '123'" CI позволяет выполнять 1-2 строчками кода.
Да я в курсе что CRUD`ы надо писать руками и честно говоря не очень понимаю как их можно не писать руками ... ну это скорее вопрос к любителям drupal / yii и самое главное не понимаю выигрыш от того что их можно не писать руками, а переписывать под себя ...
Так вот, вопрос: а надо-ли уходить-то? Дело все в том, что за 2013 год в самом php в принципе мало что изменилось в плане новых фич. Причем именно фич. То есть к примеру проекты, которые проработают 2-3-4-5 лет которые делаются на CI и будут дальше продолжать разрабатываться уводить с любимого фрейма не хочется. Прежде всего по тому что я не до конца понимаю чего нового ждать собственно от самого php. Принципиально нового. Фундаментально нового. Потому что в том виде в котором он (php) сейчас, последние версии CI вроде как относительно адекватно используют его функционал. То есть я вижу смысл переезда на ruby on rails например, но не с теми php проектами которые делаю и планирую продолжать делать.
Хочу услышать веские доводы в сторону переезда. Потому что у меня есть ощущение что если проект официально бросили создатели, то:
а) он либо остановится окончательно в разработке и таки да ...
б) новые владельцы вздернут вожжи и вместо няшного аки дебиан в мире линуксов консервативного старичка, будет полная новшеств и новых прикольных глюков версия
в) что-нибуть еще
В общем я в сомнениях, товарищи.
Поделитесь развернуто мыслями, буду читать их с полным вниманием. Это какбэ намек "да, переходи на Yii" -- плохой ответ. Меня инетресует стратегия в контексте фреймворков. А не тактика.
не понимаю выигрыш от того что их можно не писать руками
Есть множество других аспектов у работы с БД, кроме как выборка данных. ORM обычно обвязан кучей смежных возможностей. К примеру schema migrations – автоматическое изменение таблиц под последнюю версию. На подобии того как git/mercurial/etc держат версии вашего кода, также должны быть версии вашей БД, с помощью которых можно выкатывать обновления или возвращаться назад. Помимо миграций есть архивы, утилиты для заполнения тестовыми данными и прочее-прочее.
Если хочется попробовать чего-то нового, то попробуйте Django. Да, это python. Для смелых можно Pyramid. Питон сам по себе очень гибкий с его мета-программированием. Вам больше не нужно генерить файлы с кодом или держать кеш под автоматически сгенерированный код. Нет глобального namespace, где неизвестным образом появляются классы, следовательно нет танцев с class loaders и всегда ясно откуда и что пришло - это очень повышает ясность кода. Любые объекты самоописываются, так, что можно получить веб-формы из ORM моделей, автоматическая валидация, generic views (django view == контроллер для всего остального мира) и многое другое. Автоматическая админка. Хороший асинхронный фреймворк в лице Celery. Неплохое управление на management commands, которые легко пишутся. Вместе с Fabric уходит головная боль с выкатыванием новых версий на тестовые и боевые сервера. В общем batteries included.
Ну вообще у меня не стоит задача поиска работы, это раз. Во вторых скилы прокачивать это хорошо, но в моем случае как раз все наоборот -- задача самопрокачки не стоит вообще, стоит задача скажем так "энтерпрайза". Я изучил вопрос Yii и если и буду его изучать (как вариант для себя), то сразу со 2-й ветки начну которая сейчас в альфе.
я вообще мечтаю изучить хоть какой-нибудь фреймворк.знаний ооп и MVC поверхностные. решил ci выучить. сразу втух. сложно, хотя говорят с него надо начинать учиться. пишу на чистом рнр. как бы все работает. но. чувствую что я отстал от прогресса на лет 10-15. научите меня(
Если ты фрилансер и заказчику пофиг на технологии + ты не хочешь (а ты не хочешь) переходить на другие фреймворки - сиди на CodeIgniter, не мучь себя - он тож хорош. Во всех остальных случаях переход - это только в плюс. Не ленись! Заточи еще один. И ты станешь на порядок круче! Забей на Yii - бери Zend Framework или Symfony. .....А ввообще странный вопрос:....учить или не учить.....работать или не работать...- тебе решать!