#php #symfony
#php #symfony
Вопрос:
Я просто работаю с Библией Symfony2, и я немного застрял в системе пакетов. Это отличная функция, но я не совсем уверен, как разделить мое плоское PHP-приложение на пакеты. Я впервые разделяю свой PHP-код на полнофункциональный MVC-фреймворк.
Я работаю над несколькими онлайн-играми (на основе PHP), но как мне определить пакеты? Похоже ли это на один единый пакет onlinegame1 со всеми контроллерами и функциями — или как пакет входа, пакет регистрации, пакет войны — суммируется по одному пакету для каждого отдельного файла PHP, который я получил?
Я хочу начать с чистого и правильного, но я не совсем уверен, понимаю ли я эту функцию.
Комментарии:
1. В принципе, вы можете поместить в пакет все, что вам нравится 🙂 Я предлагаю вам начать с чего-нибудь небольшого и немного поиграть, прежде чем переносить все приложение, чтобы сначала у вас было ощущение, и у вас было место для ошибок и игр. Например, вы можете попытаться интегрировать существующий пользовательский пакет, который обрабатывает аутентификацию и управление учетными записями.
2. Спасибо, я думаю, что я собираюсь это сделать. Я должен в конечном итоге понять это, когда придет время 🙂
Ответ №1:
Вы могли бы думать о bundle как о независимом повторно используемом компоненте — по крайней мере, в большинстве случаев.
Давайте представим личный веб-сайт блога. Я бы разделил его на ArticleBundle
, UserBundle
, CommentBundle
и, наконец MainBundle
, который объединил бы все эти другие пакеты, создав ваш веб-сайт. Главное, что вы можете взять, например, ArticleBundle и легко использовать его в другом проекте, не привязывая его к какому-либо другому пакету.
Из книги Symfony2:
Пакет похож на плагин в другом программном обеспечении, но даже лучше. Ключевое отличие заключается в том, что в Symfony2 все является пакетом, включая как основные функциональные возможности фреймворка, так и код, написанный для вашего приложения. Пакеты являются первоклассными гражданами в Symfony2. Это дает вам возможность гибко использовать готовые функции, упакованные в пакеты сторонних производителей, или распространять свои собственные пакеты. Это позволяет легко выбирать, какие функции включить в вашем приложении, и оптимизировать их так, как вы хотите.
Комментарии:
1. 1 для повторного использования. Я думаю, что это самое важное ключевое слово.