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