Extending the IndexController with a BaseController in Zend

前端 未结 4 1571
眼角桃花
眼角桃花 2021-02-08 15:17

I\'m trying to extend my controllers with a global base controller as such:

class BaseController extends Zend_Controller_Action {
 // common controller actions
          


        
4条回答
  •  -上瘾入骨i
    2021-02-08 15:35

    Autoloader

    Setup the autoloader and register your library which should be besides the Zend library with the autoloader like so (in your bootstrap.php after setting the include path):

    //AutoLoad loads classes automatically if they are used
    require_once 'Zend/Loader/Autoloader.php';
    $loader = Zend_Loader_Autoloader::getInstance();
    $loader->registerNamespace('Mylibrary_');
    

    Zend naming conventions

    Then you should rename your BaseController as follows

    /Zend (folder)
    /Mylibrary (folder)
        /Controller (folder)
            Action.php <-- this is your basecontroller file
    

    which contains:

    class Mylibrary_Controller_Action extends Zend_Controller_Action
    {
    }
    

    and your normal controllers in the controller folder:

    class IndexController extends Mylibrary_Controller_Action
    {
    }
    

    so basically when you want to extend the framework you keep a parallel structure in your own library.

提交回复
热议问题