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 の学習を開始するのだろうかと思います。

それでもどうしてもやりたい場合は、公式ドキュメントに従って、 QuickStart 全体を何度も読んでください。そこにあるいくつかのモジュールをチェックして、それらがどのように機能するかを確認してください。

そのような機能が本当に必要なポイントに到達するまで、最初は簡単なことを試してみてください。

于 2013-01-29T07:35:00.727 に答える