0

在 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 中的变量“somevariable”中获取值。我这样做如下:

echo Application\Module::getValue();

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

PS 我从来没有在 PHP 中进行过太多编程,所以也许我错过了一些东西 :-(

4

2 回答 2

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/

于 2013-01-29T07:06:35.880 回答
0

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

如果您仍然坚持这样做,请按照官方文档并一遍又一遍地阅读整个快速入门。看看那里的一些模块,看看它们是如何做的。

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

于 2013-01-29T07:35:00.727 回答