- PHP
- CodeIgniter
Добридень, шановні!
Зараз буде многабукаф, прошу прочитати мої сумніви уважно і допомогти мені визначиться з вибором йти з CI чи ні.
Суть питання: я ніколи не був фанатом ORM та інших консолей розробника, мені завжди подобався і буде подобається мінімалізм CI, тому що найпотрібніше в ньому є. Але знову постало питання переходу. Я чесно кажучи переходити НЕ ХОЧУ бо
1) CodeIgniter швидше за всіх і вся. Швидше тільки чистий пхп. Ну може бути ще деякі мікрофреймворкі.
2) Вільна архітектура: можна безкарно виконувати SQL-запити в контролерах, викликати функції знаходяться в моделі при генерації якогось блоку в відображеннях, користуватися хелперами, не користуватися хелперами, підключення сторонніх бібліотек як правило не викликає особливих проблем, роутинг урлов простий, зрозумілий і працює чітко, хочеш російські ЧПУ - ноу проблем і т.д. і т.п.
3) Робота з БД. Все більш-менш складні запити пишуться руками. Всякий дріб'язок на кшталт "SELECT * FROM table WHERE` ololo` = '1' AND `lalala` = '123'" CI дозволяє виконувати 1-2 рядками коду.
Так я в курсі що CRUD`и треба писати руками і чесно кажучи не дуже розумію як їх можна не писати руками. ну це швидше питання до любителів drupal / yii і найголовніше не розумію виграш від того що їх можна не писати руками, а переписувати під себе.
Хочу почути вагомі аргументи на сторону переїзду. Тому що у мене є відчуття що якщо проект офіційно кинули творці, то:
а) він або зупиниться остаточно в розробці і таки да.
б) нові власники піднімуть віжки і замість няшная аки Дебіан в світі Лінукс консервативного дідка, буде повна нововведень і нових прикольних глюків версія
в) що-небуть ще
не розумію виграш від того що їх можна не писати руками
Є безліч інших аспектів у роботи з БД, крім як вибірка даних. ORM зазвичай обв'язаний купою суміжних можливостей. Наприклад schema migrations - автоматичне оновлення таблиць під останню версію. На подобі того як git / mercurial / etc тримають версії вашого коду, також повинні бути версії вашої БД, за допомогою яких можна викочувати поновлення або повертатися назад. Крім міграцій є архіви, утиліти для заповнення тестовими даними й таке інше.
Якщо хочеться спробувати чогось нового, то спробуйте Django. Так, це python. Для сміливих можна Pyramid. Пітон сам по собі дуже гнучкий з його мета-програмуванням. Вам більше не потрібно генерувати файли з кодом або тримати кеш під автоматично згенерований код. Ні глобального namespace, де невідомим чином з'являються класи, отже немає танців з class loaders і завжди ясно звідки і що прийшло - це дуже підвищує ясність коду. Будь-які об'єкти самоопісиваются, так, що можна отримати веб-форми з ORM моделей, автоматична валідація, generic views (django view == контролер для решти світу) і багато іншого. Автоматична админка. Хороший асинхронний фреймворк в особі Celery. Непогане управління на management commands, які легко пишуться. Разом з Fabric йде головний біль з викочування нових версій на тестові і бойові сервера. Загалом batteries included.
Дякую за розгорнуту відповідь, дещо для себе з нього я виніс =)
Якщо все влаштовує, якщо не нудить від його коду, то навіщо переходити?
Я ж сказав що мене цікавить СТРАТЕГІЧНИЙ питання переходу. Є сенс і що буде в плюсі в т.ч. на перспективу. Ви уважно мене читали?
Коли шукав роботу, то 80% питали про досвід роботи з ферймверком, а саме yii.
Інша причина переходу - прокачати свої скіли, дізнатися нові прийоми.