【问题标题】:call external function from Yii controller从 Yii 控制器调用外部函数
【发布时间】:2013-11-28 23:29:20
【问题描述】:

我在 .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()

【问题讨论】:

  • myLib 文件夹在哪里?
  • 在受保护的文件夹中。

标签: php yii


【解决方案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.*',
),

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多