如何在Yii中声明全局函数

时间:2013-02-22 05:49:41

标签: php yii

我想知道如何在Yii中声明常用函数,以便我们可以从任何控制器,视图或模型文件中调用它。例如,我想全局声明日期函数。

3 个答案:

答案 0 :(得分:4)

您可以创建一个组件,只是组件中的一个类,然后创建静态方法。这种方法类似于CHtml,所以我认为符合框架样式。

答案 1 :(得分:1)

某处(不记得了)我看到常见的功能在config/目录下的文件中(但实际上你想要的任何地方)。 如果您将文件命名为common-func.php,则路径为{webroot}/protected/config/common-func.php 要创建这些全局函数,您需要将此文件包含在{webroot}/index.php

//user defined functions accessible over all pages
require_once dirname(__FILE__).'/protected/config/common-func.php';

答案 2 :(得分:0)

这样做 -

在您的组件中

你需要创建一个像MyClass.php这样的文件并将其放在components文件夹中。在MyClass.php中,您可以编写函数。喜欢 -

class MyClass extends CApplicationComponent {

 public function get_my_info() {

     //your code here
     //your code here

     return value;
 }
}

在你的main.php (配置文件夹) -

'components' => array(
        'myClass' => array(
            'class' => 'ext.components.MyClass',
        ),

现在可以在整个应用程序(控制器,视图等)中访问此函数,直接调用函数get_my_info()任何位置,它将返回您的值。喜欢 -

$myInfo = Yii::app()->myClass->get_my_info();

来源 - How to create & call custom global function in whole application