Пользовательские функции в Zend - PullRequest
0 голосов
/ 13 февраля 2012

Где я могу разместить пользовательские функции в Zend Framework.Эти функции будут использоваться во всей структуре во многих элементах управления, представлениях или моделях.Мне нужно преобразовать это в служебный класс?Или я могу просто сохранить его как набор функций и включить его в index.php.

Какова наилучшая практика для этого?

Ответы [ 2 ]

1 голос
/ 13 февраля 2012

Обычно вы помещаете свои функции в класс в библиотеке для автозагрузчика. Используйте соглашения об именах для ZF, чтобы облегчить жизнь.
Настройте application.ini, чтобы добавить пространство имен.

Примеры:

//application.ini
autoloaderNamespaces[] = "My_"



 //this would equate to the folder My in the folder library
    /application
      /library
         /My

 //any class you built would be named My_Classname and be called in your app by Classname()
 <?php
  class My_Classname {
     public function myFunction() {
    }
  }

  //in your conrtoller for example you might call 

  public function indexAction()  {
   $class = new My_Classname();
   $class->myFunction();

   //or if you declared myFunction() static...
   $class = My_Classname::myFunction();
  }
0 голосов
/ 13 февраля 2012

Сделайте это, следуя структуре каталогов ZF:

Создание помощников действий для контроллеров и просмотр помощников для представлений:

В папке вашей библиотеки, которая установлена ​​в set_include_path:

create library/My/View/Helper/Common.php 

Как показано ниже:

    class My_View_Helper_Common extends Zend_View_Helper_Abstract
    {
        public function common()
        {
          return $this; 
        }
        public function getCity($id)
        {
            $registry = Zend_Registry::getInstance();
            $DB = $registry['DB'];  

            $result = $DB->fetchPairs("select * from firm_dtl");

            return $result;
        }
 }

ИЛИ Call in View:

$this->common()->getCity($id);

Тот же процесс для помощников действий:

Сделать в библиотеке / My / Action / Helper / Common.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...