About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
development:plugins:auto_injection_interfaces

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
vufind2:auto_injection_interfaces [2015/12/09 19:38] demiankatzdevelopment:plugins:auto_injection_interfaces [2015/12/09 19:42] – ↷ Links adapted because of a move operation demiankatz
Line 1: Line 1:
 ====== Auto Injection Interfaces ====== ====== Auto Injection Interfaces ======
  
-Any VuFind plugin accessed through a [[general_plugin_information|standard plugin interface]] can implement certain "-Aware" interfaces in order to be automatically injected with dependencies.  This is a convenient way to gain access to other elements of the VuFind system.+Any VuFind plugin accessed through a [[vufind2:general_plugin_information|standard plugin interface]] can implement certain "-Aware" interfaces in order to be automatically injected with dependencies.  This is a convenient way to gain access to other elements of the VuFind system.
  
 Here are the relevant interfaces: Here are the relevant interfaces:
Line 13: Line 13:
  
 You can also implement a setPluginManager() method as an alternative to implementing the \Zend\ServiceManager\ServiceLocatorAwareInterface; the result is the same. You can also implement a setPluginManager() method as an alternative to implementing the \Zend\ServiceManager\ServiceLocatorAwareInterface; the result is the same.
 +
 +===== Traits =====
 +
 +Starting with VuFind 2.4, Traits are provided which can be used in addition to interfaces to automatically implement interface-specific methods (and in some case, useful related utility methods). These Traits can help to reduce redundancy in your code:
 +
 +  * \VuFind\Db\Table\DbTableAwareTrait
 +  * \VuFind\I18n\Translator\TranslatorAwareTrait
 +  * \VuFindHttp\HttpServiceAwareTrait
 +  * \VuFind\Log\LoggerAwareTrait
 +  * \Zend\ServiceManager\ServiceLocatorAwareTrait
 +  * \ZfcRbac\Service\AuthorizationServiceAwareInterface
 ---- struct data ---- ---- struct data ----
 ---- ----
  
development/plugins/auto_injection_interfaces.txt · Last modified: 2020/03/03 20:26 by demiankatz