我最近开始使用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中有一个空白值.
我在这做错了什么!?
在Yii 2中,$app是Yii的属性,而不是方法,所以你应该使用Yii :: $app-> blah.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。