Zend Framework 2,Module.php和获取param的值

时间:2013-01-28 23:05:46

标签: zend-framework2

在Module.php中我有一些代码(简化版):

namespace Application;

use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;

class Module{
    public $somevariable = 'test';
    public function onBootstrap( MvcEvent $e ) {
        $this->somevariable = 'test2';
    }
    public function getValue(){
        return $this->somevariable;
    }
}

接下来,我想从变量获得价值"一些变量"在模板layout.phtml中。我这样做如下:

echo Application\Module::getValue();

但这不起作用。这有什么问题?

P.S。我从来没有在PHP中编写太多程序,所以也许我错过了一些东西: - (

2 个答案:

答案 0 :(得分:1)

你可以使用

$e->getViewModel()->setVariable('somevariable', 'somethingvalue');

并在视图中:

echo $this->layout()->somevariable;

有关详细信息,请参阅此文章:http://samsonasik.wordpress.com/2012/07/27/zend-framework-2-mvcevent-layout-view-get-namespace/

答案 1 :(得分:0)

如果变量只是一个字符串,那么采用这种方法就没有多大意义。请不要在攻击性方面采取这种做法,但如果你没有太多的PHP经验(你试图调用一个非静态的静态函数),那么我想知道为什么你会开始用如此高级的框架学习PHP。

如果您仍然坚持这样做,请按照official Documentation并一遍又一遍地阅读整个快速入门。看看那里的一些Modules,看看他们是怎么做的。

首先尝试做一些简单的事情,直到你真的需要这样的功能。