値を表示するには

しばらくは、mapleネタばっかりです。


さて、簡単な表示はできました。


次は、名前をテンプレートに表示するにはどうすればいいかです。
名前は、テンプレートには直接書きませんから、アクションクラスより受け取らないといけません。


mapleではどうやって書くかといいますと。
アクションクラスに属性を持たせ、そこに値をいれておきます。

<?php
class Test_Main {
    var $name;
    
    function execute() {
        $this->name = 'foo';
        
        return 'success';
    }
}

名前はfooとして、設定します。


そして、テンプレート側を変更します。

<html>
<body>
Hello World.<br>
Name:{$action.name}
</body>
</html>


こうすることで、アクションクラスの name属性をgetしてくれます。
正確には、getNameメソッドが呼ばれるようです。


なので、試してみました。

<?php
class Test_Main {
    var $name;

    function execute() {
        $this->name = 'foo';

        return 'success';
    }

    function getName() {
        return 'bar';
    }
}

上記で実行すると、nameは、barになりました。


でも、すべての属性において、getterを書くのは、しんどいので。
最初の書き方推奨です。
※間違ってたら誰か指摘してくださ〜い(^^;;