Система пакетов Symfony2

#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 для повторного использования. Я думаю, что это самое важное ключевое слово.