yii2:致命错误$ this

时间:2015-07-15 08:30:46

标签: php angularjs yii yii2 seed

我正在尝试运行" yii2-angular-seed-master"在我的本地机器上。 我从https://github.com/seedss/yii2-angular-seed下载。

但是当我试图运行这个URL时。 http://localhost/harry/yii2-angular-seed-master/frontend/views/site/

它给了我以下错误。

  

致命错误:在第3行的/var/www/harry/yii2-angular-seed-master/frontend/views/site/index.php中不在对象上下文中时使用$ this

----------------------
code for views/site/index.php
<?php
/* @var $this yii\web\View */
    $this->title = 'My Yii Application';
?>
-----------------------
SiteController.php

<?php
namespace frontend\controllers;
//namespace app\controllers;
use Yii;
use common\models\LoginForm;
use frontend\models\PasswordResetRequestForm;
use frontend\models\ResetPasswordForm;
use frontend\models\SignupForm;
use frontend\models\ContactForm;
use yii\base\InvalidParamException;
use yii\web\BadRequestHttpException;
use yii\web\Controller;
use yii\filters\VerbFilter;
use yii\filters\AccessControl;
use yii\web\NotFoundHttpException;

    public function actionIndex()
    {
            return $this->render('index');
    }

请告诉我上述代码中的错误。

1 个答案:

答案 0 :(得分:1)

/var/www/harry/yii2-angular-seed-master/frontend/views/site/index.php中的

$thisView类的实例。这与Yii1中的$this不同,后者用于指代控制器 在每个视图中删除$this绝对不是要走的路,因为这就是Yii2的工作方式。

控制器将创建该View实例,因此您不应直接调用该视图文件。相反,请按如下方式调用URL:http://localhost/harry/yii2-angular-seed-master/frontend/site/index(根据您的.htaccess重写规则,如该存储库的自述文件中所述)。

更多信息:
http://www.yiiframework.com/doc-2.0/guide-structure-views.html http://www.yiiframework.com/doc-2.0/yii-web-view.html