18
class My_View_Helper_Gender extends Zend_View_Helper_Abstract
{
  public function Gender()
  {
    //
  }
}

"The class method (Gender()) must be named identically to the concliding part 
 of your class name(Gender).Likewise,the helper's file name must be named 
 identically to the method,and include the .php extension(Gender.php)"
 (Easyphp websites J.Gilmore)

私の質問は: ビュー ヘルパーに複数のメソッドを含めることはできますか?また、ヘルパー内から他のビュー ヘルパーを呼び出すことはできますか?

ありがとう

ルカ

4

3 に答える 3

38

はい、ヘルパーには追加のメソッドを含めることができます。それらを呼び出すには、ヘルパーインスタンスを取得する必要があります。これは、ビューでヘルパーインスタンスを取得することで実現できます。

$genderHelper = $this->getHelper('Gender');
echo $genderHelper->otherMethod();

または、ヘルパーがメインのヘルパーメソッドから自分自身を返すようにすることによって:

class My_View_Helper_Gender extends Zend_View_Helper_Abstract
{
  public function Gender()
  {
    return $this;
  }
  // … more code
}

その後、電話します$this->gender()->otherMethod()

ビューヘルパーにはビューオブジェクトへの参照が含まれているため、ビューヘルパー内から利用可能な任意のビューヘルパーを呼び出すこともできます。

 public function Gender()
 {
     echo $this->view->translate('gender');
     // … more code
 }
于 2011-05-13T12:45:38.530 に答える
0

そのような規定はありませんが、カスタマイズすることができます。

最初のパラメーターを関数名として渡して呼び出すことができるかもしれません。

例えば

$ this-> CommonFunction('showGender'、$ name)

ここで、showGenderはCommonFunctionクラスで定義された関数になり、$nameはパラメーターになります。

于 2011-05-13T12:45:47.703 に答える