Какой PHP фреймворк посоветуете для быстрой разработки проекта?
- Представление о MVC имею. Раньше писал пару проектов на CodeIgniter, но на нём на мой взгляд мало что есть из коробки, и много времени уходит на разработку.С тех пор изобрели Composer, при должном желании прикручивается он и к CI в том числе :)- Нужен современный не заброшенный фреймворк, с достаточным количеством документации. Не обязательно на русском, но будет плюсом.На русском - CodeIgniter, на не русском - Laravel, Symfony и другие.- Хотелось бы большое количество подключаемого функционала из коробки, для экономии времени разработки. Например уже написанная логика авторизации, регистрации, восстановления пароля и разграничения по уровням доступа. Понимаю что всё равно придется немного допиливать под свои нужды, но времени это сэкономило бы кучу.Composer - решает 99% проблем, практически в любом фреймворке.- Возможность работы с различными БД из коробкиПока фреймворков без этой штуки не видел, но есть... Вы не поверите, Composer, что бы сменить/поставить "другой" ORM, если Вам "текущий" чем-то не подошел.- Поддержка кэширования из коробки. И желательно что бы была поддержка некешируемых областей при генерации страницы, а сам кэш был управляемым.То о чем Вы говорите, это: Varnish, Nginx+SSI и т.д. кэширование "из коробки" есть в Symfony (т.к. если его отключить, страницы может генерироваться феерически долго)- Не тяжелый фреймворк, в котором оптимизирован код, и который не жрёт огромное количество ресурсов на сервере. Если будет поддержка PHP7 - тоже плюс.По моему, любой современный фреймворк, если уже даже "Битрикс" небеизвестный до этого до этого дошел... некоторые фреймворки вообще скоро будут требовать PHP7, а не только "поддерживать".- Проект будет ориентировочно крутиться на nginx+php5-fpm. Думаю практически все фреймворки смогут работать в этой среде, но вдруг...Я пока таких "вдруг" не встречал. Если у админа голова и руки на месте - то никаких "вдруг" быть не должно. А вообще, у PHP версии 5.х, есть как минимум 3 основных "ветки", это <5.3, >=5.3 или 5.4+ и т.д., ещё кое-какие отличия были в 5.5 и 5.6, но не такие "разительные", подробности можно почитать в истории версий PHP. По этому, нужно конкретнее указывать версию, например, Laravel требует 5.6+- Возможность масштабирования. В принципе не обязательно, но возможно однажды будет масштабироваться проект.Это не возможность фреймворка - а навык программиста/админа.- Всякие плюшки из коробки типа каптчи, обработки и обрезки изображений и прочие приятности будут огромным плюсом и будут иметь «больший вес» при выборе, т.к. важна простота и скорость разработки.
1. Yii2
2. CMS + готовые модули CMS
3. Вы не забыли, что есть... composer?!
P.S. Простота и скорость разработки зависит исключительно от уровня Вашего понимания процесса и прочих личностных навыков. В эти же навыки, как один из первичных, входит умение "правильно выбирать фреймворк под конкретную задачу".Большое спасибо за время уделенное прочтению моего вопроса, и огромное спасибо за Ваши ответы.Не за что! Кнопка "Мне нравиться" - сразу под сообщением :D
- Представление о MVC имею. Раньше писал пару проектов на CodeIgniter, но на нём на мой взгляд мало что есть из коробки, и много времени уходит на разработку.
в современном мире добавить что-либо к проекту можно через composer, даже собрать свой фреймворк из разных компонентов- Нужен современный не заброшенный фреймворк, с достаточным количеством документации. Не обязательно на русском, но будет плюсом.
Symfony - не пытался искать русскоязычную документацию, англоязычная шикарна
Laravel - русскоязычная вроде есть, англоязычная норм
Phalcon - хорошая русскоязычная
Zend - не пытался искать русскоязычную документацию, англоязычная норм- Хотелось бы большое количество подключаемого функционала из коробки, для экономии времени разработки. Например уже написанная логика авторизации, регистрации, восстановления пароля и разграничения по уровням доступа. Понимаю что всё равно придется немного допиливать под свои нужды, но времени это сэкономило бы кучу.
В laravel авторизация делается одной командой - php artisan make:auth, только ограничения доступа делать придется самому, но это во всех фреймворках- Возможность работы с различными БД из коробки
Подключайте что хотите через composer- Поддержка кэширования из коробки. И желательно что бы была поддержка некешируемых областей при генерации страницы, а сам кэш был управляемым.
Смотрите Symfony, в последних версиях они прикрутили реверс-прокси, на мелких проектах норм, если разрастется - можно будет переехать на varnish- Не тяжелый фреймворк, в котором оптимизирован код, и который не жрёт огромное количество ресурсов на сервере. Если будет поддержка PHP7 - тоже плюс.
Phalcon, Symfony, Yii- Защита от sql injection, xss и других дыр из коробки. В codeigniter по-моему были разные функции экранирования входных данных для SQL запросов (своя обёртка дополняемая mysql_real_escape_string) и для POST данных перед выводом. Думаю в других фреймворках это должно тоже быть, но огромным плюсом будет если реализована какая нибудь прокладка типа веб-фаервола в цепочке Запрос -> Проверка фаерволом -> Исполнение. Дополнительная защита не помешает, но это не обязательно.
В orm как правило это реализовано- Проект будет ориентировочно крутиться на nginx+php5-fpm. Думаю практически все фреймворки смогут работать в этой среде, но вдруг...
Переезжайте на 7, активная поддержка 5 версии закончилась в конце прошлого года- Возможность масштабирования. В принципе не обязательно, но возможно однажды будет масштабироваться проект.
Не зависит от фреймворка, как сами построите приложение - так оно и будет масштабироваться- Всякие плюшки из коробки типа каптчи, обработки и обрезки изображений и прочие приятности будут огромным плюсом и будут иметь «больший вес» при выборе, т.к. важна простота и скорость разработки.
Все это можно подключить через composer
В общем выбирайте, но исходя из того что проект для внутренних нужд - я бы порекомендовал Вам Laravel, правда по незнанию в нем можно жутко наговнокодить. Мой выбор в подобной ситуации - Symfony/Phalcon