我最近开始使用Yii 2,我在布局文件中遇到了一些问题,并得到以下错误:
Call to undefined method Yii::app()
这是我的布局文件:
<?PHP use yii\helpers\Html; /* @var $this yii\web\View */ /* @var $content string */ ?> <?PHP $this->beginPage() ?> <!DOCTYPE html> <html lang="<?=Yii::$app->language?>"> <head> <title><?=Html::encode($this->title)?></title> <Meta charset="<?=Yii::$app->charset?>"/> <Meta name="viewport" content="width=device-width,initial-scale=1"> <?=Html::csrfMetaTags()?> <link href="<?=Yii::app()->request->baseUrl;?>/css/bootstrap.min.css" rel="stylesheet" media="screen"> <link href="<?=Yii::app()->request->baseUrl;?>/css/custom.css" rel="stylesheet" media="screen"> <script type="text/javascript" src="<?=Yii::app()->request->baseUrl;?>/js/bootstrap.min.js"></script> <script type="text/javascript" src="<?=Yii::app()->request->baseUrl;?>/js/scripts.js"></script> <!--[if lte IE 8]> <script src="<?=Yii::app()->request->baseUrl;?>/js/html5shiv.min.js"></script> <script src="<?=Yii::app()->request->baseUrl;?>/js/respond.min.js"></script> <![endif]--> <?PHP $this->head() ?> </head> <body> <?PHP $this->beginBody() ?> <?=$content?> <?PHP $this->endBody() ?> </body> </html> <?PHP $this->endPage() ?>
当我使用Yii :: $app时我没有遇到任何问题,但是如果我使用Yii :: app()那么我就会得到那个错误.
当我在阅读时,我开始在某些地方使用Yii :: app()并被告知你应该使用下面的内容确保在视图中包含绝对路径名:
Yii::app()->request->baseUrl
…并包含jQuery使用:
Yii::app()->clientScript->registerCoreScript("jquery");
但是,当我用app()做任何事情时,我得到了上述错误.
我尝试用$app替换app();页面加载正常,但Yii :: $app-> request-> baseUrl中有一个空白值.
我在这做错了什么!?