Внешний класс Php в Yii? - PullRequest
       19

Внешний класс Php в Yii?

1 голос
/ 06 сентября 2011

Здравствуйте, мне нужно использовать evalmath.class.php в приложении Yii. Как я могу включить его из моего контроллера?

Примерно так:

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

Но приведенный выше код не работает. Как я могу включить внешний класс в контроллер?

Ответы [ 2 ]

2 голосов
/ 06 сентября 2011

В вашем примере, чтобы использовать include / require, вам, вероятно, нужно добавить некоторую информацию о пути с dirname(__FILE__).'/../models/...' или подобным, но чтобы сделать это в рамках Yii, вы сначала должны создать псевдоним (обычно в вашем основном конфигурационном файле)с setPathOfAlias ​​:

Yii::setPathOfAlias('evalmath', $evalmath_path);

Затем вы можете использовать Yii :: import примерно так:

Yii::import('evalmath', true);

и действовать так, как вы:

$m = new EvalMath();
..etc...
0 голосов
/ 06 апреля 2013
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
...