Здравствуйте!
Подскажите пожалуйста, выбираю фреймворк для разработки веб-приложения по следующим критериям:
1)Удобная работа с базами данных MySQL (query builder)
2) Удобная работа с сессиями, COOKIE и файлами
3) Возможность использования некоторых компонентов фреймворка за его пределами.
4)Удобная работа с архивами (распаковка и создание архивов)
Третий пункт распишу подробнее.
Ранее я использовал для работы отдельные компоненты фреймворка Laravel (illuminate\database, cookie и пр.). Все они были вне фрймворка, т.е. использовались отдельно друг от друга. Насколько я понимаю, это не очень хорошая практика.
Я использую не весь фреймворк, а его отдельные компоненты потому что вижу структуру приложения так:
Есть несколько классов со своими функциями, вся работа с объектами классов происходит с помощью вызова этих функций. Функции и классы я создаю самостоятельно. Также должна быть возможность вызывать эти функции через консоль сервера (я читал, что в Laravel это можно делать).
Третий пункт сомнителен, посоветуйте, в каком направлении двигаться?
В фреймворках вы пишите не функции а методы.
В принципе любой фреймворк. Я за Symfony/Laravel/Lumen/Silex
Четвертый пункт к фреймворку не имеет отношения. Это отдельные зависимости, которые вы ставите на свое усмотрение. Опять же, есть под все популярные фреймворки.
Все они были вне фрймворка, т.е. использовались отдельно друг от друга. Насколько я понимаю, это не очень хорошая практика.
Да это лучшая в мире практика, использовать только то что действительно необходимо!
Вообще говоря, вам подойдет любой фреймворк, все фреймворки удовлетворяют вашим требованиям. Но так уж и быть, посоветую Symfony 3 :)
BoShurik:
symfony/console
symfony/http-foundation
syfmony/debug
как раз подключены к yii как зависимость, что является фактом возможности их использования за пределами yii.
Если посмотреть на тот же symfony/console то в его зависимостях не увидим yii, там:
BoShurik: При чем тут как Вы поняли. Главное что спросил автор. Если он уточнит этот пункт я отвечу. Не понимаю зачем такие компоненты могут понадобиться, так как если они абстрактные, то они не привязаны к framework и их можно взять и использовать независимо от того какой framewok используется. Тот же yii кучу компонентов symfony. И я думаю речь именно об этом.
Не понимаю зачем такие компоненты могут понадобиться
К примеру, если приходит проект для которого не целесообразно брать целый фреймворк (парсер какой-нибудь), то, имея опыт с Symfony или Laravel, можно просто взять их компоненты консоли, DI и развернуть каркас. Т.к. есть опыт работы с компонентам, то и скорость разработки этого мини-проекта увеличится.
В случае с Yii, придется разворачивать весь фреймворк, даже если при этом будут использоваться только несколько компонентов.
Судя по всему, рано или поздно его все-таки тоже разобьют на компоненты, что не может не радовать