Class Yii中的外部Php类?

Class Yii中的外部Php类?,class,yii,external,Class,Yii,External,您好,我需要在Yii应用程序中使用evalmath.class.php。如何从控制器中包含它 大概是这样的: public function actionFormulas() { include('models/evalmath.class.php'); $m = new EvalMath; ... } 但是上面的代码不起作用。如何在控制器中包含外部类?在您的示例中,要使用include/require,您可能需要使用dirname(\uu\u文件)“/../model

您好,我需要在Yii应用程序中使用evalmath.class.php。如何从控制器中包含它

大概是这样的:

public function actionFormulas() {
    include('models/evalmath.class.php');
    $m = new EvalMath;
    ...
}

但是上面的代码不起作用。如何在控制器中包含外部类?

在您的示例中,要使用include/require,您可能需要使用
dirname(\uu\u文件)“/../models/…”
或类似工具添加一些路径信息,但要在Yii框架中进行此操作,您首先需要使用以下工具创建一个别名(通常在主配置文件中):

然后您可以这样使用:

继续你的工作:

$m = new EvalMath();
..etc...

非常感谢。它起作用了。正确地包括了EvalMath。但现在,我有另一个问题。在Yii内部,带括号的操作不起作用,而在Yii外部则起作用。即使是简单的$m->evaluate(‘(2+2)’);破坏程序。解决了,但我不知道为什么会这样。现在,从数据库中提取公式时,结果为空。你可以看看我的代码,如果你想在。函数是actionFormulas,您需要在mysql中创建一个名为matheval的数据库,在存储库的根目录下有一个sql脚本。matheval.sql。谢谢
Yii::import('evalmath', true);
$m = new EvalMath();
..etc...
class ServiceController extends Controller
{
    public function actionIndex()
    {
        Yii::import('application.controllers.back.ConsolidateController'); // ConsolidateController is another controller in back controller folder
        echo ConsolidateController::test(); // test is action in ConsolidateController