2011-01-08 6 views
1

私は私のヘルパーファイルでこれを使用して作業Zendのビューヘルパーを最後に持っている:Zendのビューヘルパーの質問

私の見解で
class MY_View_Helper_Table extends Zend_View_Helper_Abstract 
{ 
    private $table_data="",$table_head=""; 

    public function Table($data=''){ 
     return "hello"; 
    } 
} 

と、この:

print $this->Table(); 

これは単に返された値を出力しますコンストラクタの、私は思う。クラスの他のメソッドを呼び出すにはどうすればいいですか?インスタンス化されたオブジェクトを参照してそのメソッドにアクセスする方法は本当にわかりません。

+0

私は方法チェーンを使用してそれを行うように管理していますが、表Iでは$ thisを返します。それを行うためのより良い、正常な方法がなければならない。 – user505988

答えて

3

私は一種のそれは私が $これを返す表に、 メソッドチェーンを使用しないために管理しています。しかし、より良いとそれを行う通常の方法 する必要があります。

実際にはありません。それはあなたのやり方の典型です。ビューヘルパーの仕組みのため、ヘルパーの他のメソッドにアクセスする必要がある場合は、tableメソッドから常に$thisを返すか、渡されたパラメータシグネチャによって呼び出す内容を検出します。 eaxmpleについて:

public function table($options = null) 
{ 
    if(null === $options){ 
     return $this; 
    } 

    if(is_array($options)){ 
    return $this->tableFromArray($options); 
    } 

    // etc.. 
} 

また$this->getHelper('name')とヘルパーのインスタンスを取得することができ、その後、あなたが望む方法にチェーン...しかし、IMOちょうどゲッターとしてデフォルトの処理方法のパラメータ検出を行うよりもさらに混乱のthats。

+1

ありがとう、私はZendの新しいです。メソッド連鎖を使用して演奏した後、それを実行するのは非常にいい方法でした。あなたの答えをもう一度おねがいします。 – user505988

関連する問題