File indexing completed on 2024-06-16 05:29:52

0001 <?php
0002 /**
0003  * Zend Framework
0004  *
0005  * LICENSE
0006  *
0007  * This source file is subject to the new BSD license that is bundled
0008  * with this package in the file LICENSE.txt.
0009  * It is also available through the world-wide-web at this URL:
0010  * http://framework.zend.com/license/new-bsd
0011  * If you did not receive a copy of the license and are unable to
0012  * obtain it through the world-wide-web, please send an email
0013  * to license@zend.com so we can send you a copy immediately.
0014  *
0015  * @category   Zend
0016  * @package    Zend_Application
0017  * @subpackage Bootstrap
0018  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
0019  * @license    http://framework.zend.com/license/new-bsd     New BSD License
0020  * @version    $Id$
0021  */
0022 
0023 /**
0024  * Interface for bootstrap classes that utilize resource plugins
0025  *
0026  * @category   Zend
0027  * @package    Zend_Application
0028  * @subpackage Bootstrap
0029  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
0030  * @license    http://framework.zend.com/license/new-bsd     New BSD License
0031  */
0032 interface Zend_Application_Bootstrap_ResourceBootstrapper
0033 {
0034     /**
0035      * Register a resource with the bootstrap
0036      *
0037      * @param  string|Zend_Application_Resource_Resource $resource
0038      * @param  null|array|Zend_Config                     $options
0039      * @return Zend_Application_Bootstrap_ResourceBootstrapper
0040      */
0041     public function registerPluginResource($resource, $options = null);
0042 
0043     /**
0044      * Unregister a resource from the bootstrap
0045      *
0046      * @param  string|Zend_Application_Resource_Resource $resource
0047      * @return Zend_Application_Bootstrap_ResourceBootstrapper
0048      */
0049     public function unregisterPluginResource($resource);
0050 
0051     /**
0052      * Is the requested resource registered?
0053      *
0054      * @param  string $resource
0055      * @return bool
0056      */
0057     public function hasPluginResource($resource);
0058 
0059     /**
0060      * Retrieve resource
0061      *
0062      * @param  string $resource
0063      * @return Zend_Application_Resource_Resource
0064      */
0065     public function getPluginResource($resource);
0066 
0067     /**
0068      * Get all resources
0069      *
0070      * @return array
0071      */
0072     public function getPluginResources();
0073 
0074     /**
0075      * Get just resource names
0076      *
0077      * @return array
0078      */
0079     public function getPluginResourceNames();
0080 
0081     /**
0082      * Set plugin loader to use to fetch resources
0083      *
0084      * @param  Zend_Loader_PluginLoader_Interface Zend_Loader_PluginLoader
0085      * @return Zend_Application_Bootstrap_ResourceBootstrapper
0086      */
0087     public function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader);
0088 
0089     /**
0090      * Retrieve plugin loader for resources
0091      *
0092      * @return Zend_Loader_PluginLoader
0093      */
0094     public function getPluginLoader();
0095 }