Zend framework zend中的用户定义函数

Zend framework zend中的用户定义函数,zend-framework,Zend Framework,我应该将用户定义的函数放在zend framework中的何处。这些函数将在许多控件、视图或模型中跨框架使用。我需要将其转换为实用程序类吗?或者我可以将其作为一组函数保存,并将其包含在index.php中 这方面的最佳做法是什么 通常,您会将函数放入库中的一个类中,以供自动加载程序使用。使用ZF的命名约定使生活更轻松。 调整application.ini以添加命名空间。 示例: //application.ini autoloaderNamespaces[] = "My_" //this

我应该将用户定义的函数放在zend framework中的何处。这些函数将在许多控件、视图或模型中跨框架使用。我需要将其转换为实用程序类吗?或者我可以将其作为一组函数保存,并将其包含在index.php中


这方面的最佳做法是什么

通常,您会将函数放入库中的一个类中,以供自动加载程序使用。使用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();
  }
//application.ini
自动加载命名空间[]=“我的”
//这将等同于文件夹库中的文件夹My
/应用
/图书馆
/我的
//您构建的任何类都将被命名为My_Classname,并在应用程序中被Classname()调用

通过以下ZF目录结构实现:

为控制器生成操作帮助程序,为视图生成视图帮助程序:

在set_include_路径中设置的库文件夹中:

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;
        }
 }
或访问视图:

$this->common()->getCity($id);
操作帮助程序的相同过程:


Make in library/My/Action/Helper/Common.php

非常感谢您提出这个想法。我刚刚实现了它,它工作得很好。