从Yii控制器调用外部功能

时间:2013-11-15 14:27:50

标签: php yii

我在.php文件中有一个旧的php函数,想要从我的控制器中包含并调用它。 我首先将我的.php函数文件复制到myLib文件夹,然后在配置文件中定义我的函数,如下所示:

// autoloading model and component classes
    'import'=>array(
        'application.models.*',
        'application.components.*',
        'application.myLib.*',
    ),

现在如何在控制器中调用我的函数?

我称其名称简单,但我收到此错误:

致命错误:在第10行的C:\ xampp \ htdocs \ test \ protected \ controllers \ TestController.php中调用未定义的函数myFunction()

1 个答案:

答案 0 :(得分:1)

Yii自动加载器用于加载类,如果调用类,它将加载类的文件。所以这对于文件中的单例函数不起作用。

你可以做的是创建一个帮助类,并将该函数作为静态方法添加到类中。

例如:

class MyLib
{
    public static function myFunction()
    {
          //do stuff here
    }
}

然后你可以像以前一样用

调出你的功能
MyLib::myFunction();

然后将该类存储在文件/protected/helpers/MyLib.php

并在配置中执行:

'import'=>array(
    'application.models.*',
    'application.components.*',
    'application.helpers.*',
),
相关问题