2010-12-31 7 views
0

Ich bin neu bei Zend, und ich möchte eine Klasse zum Erstellen einer Tabelle erstellen (mehr zum Erlernen der Verwendung von Helfern als aus praktischen Gründen).Verwenden von View-Helfern in Zend

Ich habe eine Klasse namens Tabelle in views/Helfer erstellt und haben den folgenden Code setzen in:

class Zend_View_Helper_Table{ 

public function table(){ 
    } 

    public function helloWorld(){ 
     return "hello world"; 
    } 

} 

ich diese Zeile hinzugefügt haben:

resources.view.helperPath = APPLICATION_PATH "/views/helpers" 

Zu meiner INI-Datei.

Wie kann ich diese Klasse instanziieren und in meinen Ansichten verwenden?

Ich habe die Skripte auf Zend gefolgt, aber es hält versagt ...

Prost John

Antwort

3

Ihre Klasse zu erweitern hat: Zend_View_Helper_Abstract

Aber ich würde vorschlagen, Ihr zu verwenden, eigener Namespace für deine View-Helfer:

In deiner bootstrap.php add:

/** 
* Initialize the autoloader 
* 
* @return Zend_Application_Module_Autoloader 
*/ 
protected function _initAutoload() 
{ 
    $autoloader = new Zend_Application_Module_Autoloader(array(
      'namespace' => 'My', 
      'basePath' => dirname(__FILE__), 
    )); 

    return $autoloader; 
} 

In application.ini hinzufügen:

resources.view.helperPath.My_View_Helper = APPLICATION_PATH "/views/helpers" 

Setzen Sie Ihre Ansicht Helfer in;

/views/helpers/Hello.php

class My_View_Helper_Hello extends Zend_View_Helper_Abstract 
{ 
    /** 
    * Return random quotes 
    * 
    * @return string quotes 
    */ 
    public function hello() 
    { 
     $quotes = array(
      'test12', 
      'fooBar', 
     ); 

     $idx = array_rand($quotes); 

     return $quotes[$idx]; 
    } 
} 

Und in Ihrer Ansicht verwenden Sie einfach:

<?php echo $this->hello;?> 
+0

Was würde ich in meinem Controller schreiben, müssen sie instanziiert? – user505988

+0

nichts;) seine autoloadd – opHASnoNAME

+0

Hmm aus irgendeinem Grund, ich habe Ihren Code genau kopiert, aber mit einem kleinen zwicken Namen, aber keine Freude. Weißt du, ob es etwas geben könnte, das ich woanders hinstellen muss? – user505988

Verwandte Themen