php – 在布局视图中调用未定义的方法Yii :: app()

前端之家收集整理的这篇文章主要介绍了php – 在布局视图中调用未定义的方法Yii :: app()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近开始使用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.

Source

猜你在找的PHP相关文章