2010-12-31 1 views
0

Я новичок в Zend, и я хочу создать класс для создания таблицы (больше для изучения того, как использовать помощники, чем по практическим соображениям).Использование Viewers в Zend

Я создал таблицу класса вызвал просмотры/хелпер и поставил следующий код:

class Zend_View_Helper_Table{ 

public function table(){ 
    } 

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

} 

Я добавил эту строку:

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

К моей ине файла.

Как мне создать экземпляр этого класса и использовать его в моих представлениях?

Я следовал сценарии на Zend, но он держит неудачу ...

Приветствия John

ответ

3

Ваш класс должен простираться: Zend_View_Helper_Abstract

Но я бы предложил использовать свой собственное пространство имен для вашего вида помощников:

В вашем файле bootstrap.php:

/** 
* 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; 
} 

В ваших application.ini добавить:

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

Положите помощник вида в;

/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]; 
    } 
} 

А на ваш взгляд, просто использовать:

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

Что бы мне нужно написать в мой контроллер, чтобы создать его экземпляр? – user505988

+0

ничего;) его автозагрузка – opHASnoNAME

+0

Хмм по какой-то причине я скопировал ваш код точно, но с незначительным изменением имен, но без радости. Знаете ли вы, что может быть что-то, что мне нужно, чтобы установить где-то еще? – user505988

Смежные вопросы