前端控制器调度之前的Zend Framework插件操作

时间:2010-10-29 18:04:32

标签: zend-framework

我想在我的bootstrap中创建一个全局变量,这是配置:

require_once 'Initializer.php';
require_once 'Zend/Loader/Autoloader.php';
require_once 'Zend/Controller/Router/Route.php';
require_once 'Zend/Controller/Action/HelperBroker.php';

$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace('Forms_');


// Prepare the front controller. 
$frontController = Zend_Controller_Front::getInstance(); 
// Change to 'production' parameter under production environemtn
$frontController->registerPlugin(new Initializer('test'));    
$frontController->throwExceptions(true);

$router = $frontController->getRouter();

require_once 'Routes.php';

// Dispatch the request using the front controller. 
$frontController->dispatch();

我想在布局和视图中设置一个全局var,这个var应该被称为权限,甚至在其他控制器方法中使用这个全局变量,这个变量是用扇区控制用户和权限。

我创建了一个帮助器,它可以工作并设置权限,但是,我只能在dispatch()完成后调用这个帮助器,如果我在调度后发送它,那么该变量将不可用于控制器和视图。

有没有办法在发送后启动全局变量,如下所示:

$permissions_helper = Zend_Controller_Action_HelperBroker::getStaticHelper('Permissions');

谢谢,最好的关注!

1 个答案:

答案 0 :(得分:1)

这听起来有点怀疑。看看这些组件:

  • Zend_Application
  • 要是Zend_Registry
  • Zend_Acl中

如果您需要仅在视图中使用该变量(布局也是视图),那么这实际上不是全局变量。

另外两个提示:

  • 全局变量是邪恶的
  • 搜索SO以获取Zend Framework和可重用的小部件