web/lib/Zend/Application/Resource/Frontcontroller.php
changeset 1230 68c69c656a2c
parent 807 877f952ae2bd
equal deleted inserted replaced
1229:5a6b6e770365 1230:68c69c656a2c
    13  * to license@zend.com so we can send you a copy immediately.
    13  * to license@zend.com so we can send you a copy immediately.
    14  *
    14  *
    15  * @category   Zend
    15  * @category   Zend
    16  * @package    Zend_Application
    16  * @package    Zend_Application
    17  * @subpackage Resource
    17  * @subpackage Resource
    18  * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
    18  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
    19  * @license    http://framework.zend.com/license/new-bsd     New BSD License
    19  * @license    http://framework.zend.com/license/new-bsd     New BSD License
    20  * @version    $Id: Frontcontroller.php 24798 2012-05-12 19:17:41Z adamlundrigan $
    20  * @version    $Id$
    21  */
    21  */
    22 
    22 
    23 /**
    23 /**
    24  * @see Zend_Application_Resource_ResourceAbstract
    24  * @see Zend_Application_Resource_ResourceAbstract
    25  */
    25  */
    30  * Front Controller resource
    30  * Front Controller resource
    31  *
    31  *
    32  * @category   Zend
    32  * @category   Zend
    33  * @package    Zend_Application
    33  * @package    Zend_Application
    34  * @subpackage Resource
    34  * @subpackage Resource
    35  * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
    35  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
    36  * @license    http://framework.zend.com/license/new-bsd     New BSD License
    36  * @license    http://framework.zend.com/license/new-bsd     New BSD License
    37  */
    37  */
    38 class Zend_Application_Resource_Frontcontroller extends Zend_Application_Resource_ResourceAbstract
    38 class Zend_Application_Resource_Frontcontroller extends Zend_Application_Resource_ResourceAbstract
    39 {
    39 {
    40     /**
    40     /**
    44 
    44 
    45     /**
    45     /**
    46      * Initialize Front Controller
    46      * Initialize Front Controller
    47      *
    47      *
    48      * @return Zend_Controller_Front
    48      * @return Zend_Controller_Front
       
    49      * @throws Zend_Application_Exception
    49      */
    50      */
    50     public function init()
    51     public function init()
    51     {
    52     {
    52         $front = $this->getFrontController();
    53         $front = $this->getFrontController();
    53 
    54 
    69 
    70 
    70                 case 'moduledirectory':
    71                 case 'moduledirectory':
    71                     if (is_string($value)) {
    72                     if (is_string($value)) {
    72                         $front->addModuleDirectory($value);
    73                         $front->addModuleDirectory($value);
    73                     } elseif (is_array($value)) {
    74                     } elseif (is_array($value)) {
    74                         foreach($value as $moduleDir) {
    75                         foreach ($value as $moduleDir) {
    75                             $front->addModuleDirectory($moduleDir);
    76                             $front->addModuleDirectory($moduleDir);
    76                         }
    77                         }
    77                     }
    78                     }
    78                     break;
    79                     break;
    79 
    80 
   100                     break;
   101                     break;
   101 
   102 
   102                 case 'plugins':
   103                 case 'plugins':
   103                     foreach ((array) $value as $pluginClass) {
   104                     foreach ((array) $value as $pluginClass) {
   104                         $stackIndex = null;
   105                         $stackIndex = null;
   105                         if(is_array($pluginClass)) {
   106                         if (is_array($pluginClass)) {
   106                             $pluginClass = array_change_key_case($pluginClass, CASE_LOWER);
   107                             $pluginClass = array_change_key_case($pluginClass, CASE_LOWER);
   107                             if(isset($pluginClass['class']))
   108                             if (isset($pluginClass['class'])) {
   108                             {
   109                                 if (isset($pluginClass['stackindex'])) {
   109                                 if(isset($pluginClass['stackindex'])) {
       
   110                                     $stackIndex = $pluginClass['stackindex'];
   110                                     $stackIndex = $pluginClass['stackindex'];
   111                                 }
   111                                 }
   112 
   112 
   113                                 $pluginClass = $pluginClass['class'];
   113                                 $pluginClass = $pluginClass['class'];
   114                             }
   114                             }
   134                         }
   134                         }
   135                     }
   135                     }
   136                     break;
   136                     break;
   137 
   137 
   138                 case 'dispatcher':
   138                 case 'dispatcher':
   139                     if(!isset($value['class'])) {
   139                     if (!isset($value['class'])) {
   140                         require_once 'Zend/Application/Exception.php';
   140                         require_once 'Zend/Application/Exception.php';
   141                         throw new Zend_Application_Exception('You must specify both ');
   141                         throw new Zend_Application_Exception('You must specify both ');
   142                     }
   142                     }
   143                     if (!isset($value['params'])) {
   143                     if (!isset($value['params'])) {
   144                         $value['params'] = array();
   144                         $value['params'] = array();
   145                     }
   145                     }
   146                     
   146                     
   147                     $dispatchClass = $value['class'];
   147                     $dispatchClass = $value['class'];
   148                     if(!class_exists($dispatchClass)) {
   148                     if (!class_exists($dispatchClass)) {
   149                         require_once 'Zend/Application/Exception.php';
   149                         require_once 'Zend/Application/Exception.php';
   150                         throw new Zend_Application_Exception('Dispatcher class not found!');
   150                         throw new Zend_Application_Exception('Dispatcher class not found!');
   151                     }
   151                     }
   152                     $front->setDispatcher(new $dispatchClass((array)$value['params']));
   152                     $front->setDispatcher(new $dispatchClass((array)$value['params']));
   153                     break;
   153                     break;