1

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

4

3 回答 3

4

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

于 2013-02-22T06:03:40.773 回答
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';
于 2013-02-22T12:40:39.277 回答
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();

Source -如何在整个应用程序中创建和调用自定义全局函数

于 2014-08-14T11:17:51.150 回答