用户在zend中定义的函数

时间:2012-02-13 05:29:52

标签: zend-framework

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

最佳做法是什么?

2 个答案:

答案 0 :(得分:1)

通常,您可以将函数放入库中用于自动装载程序的类中。使用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();
  }

答案 1 :(得分:0)

按照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;
        }
 }

或在视图中调用:

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

动作助手的相同过程:

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