Zend Framework: плагины ресурсов и методы - PullRequest
4 голосов
/ 18 июля 2010

я читал Zend Framework Book: выжить в глубоком конце о ресурсных методах. это говорит о том, как методы ресурса будут переопределять плагин ресурса.

Но подождите, есть также Ресурс Plugin (Zend_Application_Resource_View), который может также создать ресурс под названием Посмотреть. Можем ли мы иметь два ресурса просмотра? Ответ - нет, мы можем иметь один и только один

in Zend Framework Manual ,

хороший способ создания многоразовых загрузить ресурсы и разгрузить большая часть вашего кодирования, чтобы дискретно классы использовать плагины ресурсов ... намерение состоит в том, что разработчики следует написать свои собственные, чтобы инкапсулировать их собственные потребности инициализации

мне методы ресурсов кажутся более интуитивным способом инициализации ресурсов, почему тогда я должен использовать плагины? это просто вопрос, который я предпочитаю? или они используются в разных обстоятельствах?

будут ли методы ресурсов заменять или расширять функциональность, предоставляемую предоставляемыми плагинами ресурсов? потому что, если он заменит, мне нужно убедиться, что я инициализирую все переменных или что мне нужно?

Возвращая новый Zend_View экземпляр из _initView (), Zend_Application примет замена и не будет пытаться переписать наши изменения, запустив Zend_Application_Resource_View для установки стандартный Zend_View по умолчанию экземпляр с недостатками мы просто исправлено

если я не верну Zend_View, это будет так, как если бы у меня не было метода? могу ли я сказать, что всегда должен возвращать что-то из методов ресурсов?

Здесь мы делаем то же самое, используя метод getResource () для получения экземпляр Zend_Controller_Front создан и настроен Zend_Application_Resource_Frontcontroller

Исходя из вышеизложенного, могу ли я сказать, что, если я хочу, чтобы у моих методов ресурсов были значения по умолчанию, установленные предоставленным плагином ресурса, я могу сделать getResource() 1st?

1 Ответ

5 голосов
/ 18 июля 2010

Отвечая на ваши вопросы:

Должен ли я использовать ресурсные плагины или методы?

Я бы сказал, что это во многом зависит от личных предпочтений.Как говорится в вашей цитате из руководства, если вы используете плагин ресурсов, становится проще повторно использовать код в другом проекте (так как легче перемещаться / тестировать класс, чем вырезать и вставлять текст из метода),По моему мнению, методы позволяют немного легче увидеть, что происходит в начальной загрузке, по крайней мере до тех пор, пока они не станут немного сложными, и в этом случае имеет смысл преобразовать их в плагин.

Будут ли методы ресурсов заменять или расширять функциональность, предоставляемую плагинами ресурсов?

Я считаю, что способ, которым он работает, заключается в том, что плагины загружаются и инициализируются при первом создании класса начальной загрузки.Затем начальная загрузка пройдет через ваши методы и запустит их.Если у вас есть метод с именем, совпадающим с ресурсом плагина, ваш метод переопределит этот плагин.Однако вы также можете получить доступ к существующему ресурсу из вашего метода и изменить его, и в этом случае ваш метод добавляет функциональность, предоставляемую плагином.

Помните, что плагины волшебным образом не запускаются сами собой (кромеплагин фронт-контроллера, который всегда будет работать).Они будут использоваться только в том случае, если ваш application.ini вызывает их (или если вы вызываете их из своих собственных методов).

Если я не верну Zend_View, это будет так, как если бы у меня не былометод?Можно ли сказать, что я всегда должен возвращать что-то из методов ресурса?

Хорошая практика - возвращать что-то из методов ресурса, так как это позволяет получить доступ к этому ресурсу другими методами или другими частями приложения.Однако метод все равно будет работать без возвращаемого значения.Но если вы добавили метод _initView и настроили новый объект Zend_View, если вы ничего не сделаете с ним, это не повлияет на ваше приложение.

Могу ли я сказать, что если захочумои методы ресурсов, чтобы по умолчанию, установленные предоставленным плагином ресурсов, я могу сделать getResource ()

Да.Но я хотел бы убедиться, что вы вернете ресурс в этом случае, просто чтобы любые другие методы, которые обращаются к ресурсу, использовали ваш модифицированный, а не тот, который был установлен плагином.

Лично я бы либо придерживался приложения.ini + плагины ресурсов или методы ресурсов.Проще увидеть, что происходит, если все ресурсы ресурса находятся в одном месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...