Yii2框架配置文件(Application属性)与调试技巧实例分析


Posted in PHP onMay 27, 2019

本文实例讲述了Yii2框架配置文件(Application属性)与调试技巧。分享给大家供大家参考,具体如下:

配置文件

Yii2的主要配置文件config\web.php:

<?php
$params = require(__DIR__ . '/params.php');
$config = [
  'id' => 'basic',
  'basePath' => dirname(__DIR__),
  'bootstrap' => ['log'],
  'components' => [
    'request' => [
      // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
      'cookieValidationKey' => 'aldjaldjaldjaljd',
    ],
    'cache' => [
      'class' => 'yii\caching\FileCache',
    ],
    'user' => [
      'identityClass' => 'app\models\User',
      'enableAutoLogin' => true,
    ],
    'errorHandler' => [
      'errorAction' => 'site/error',
    ],
    'mailer' => [
      'class' => 'yii\swiftmailer\Mailer',
      // send all mails to a file by default. You have to set
      // 'useFileTransport' to false and configure a transport
      // for the mailer to send real emails.
      'useFileTransport' => true,
    ],
    'log' => [
      'traceLevel' => YII_DEBUG ? 3 : 0,
      'targets' => [
        [
          'class' => 'yii\log\FileTarget',
          'levels' => ['error', 'warning'],
        ],
      ],
    ],
    'db' => require(__DIR__ . '/db.php'),
    'urlManager' => [
      'enablePrettyUrl' => true,
      'showScriptName' => false,
      'rules' => [
      ],
    ],
  ],
  'params' => $params,
];
if (YII_ENV_DEV) {
  // configuration adjustments for 'dev' environment
  $config['bootstrap'][] = 'debug';
  $config['modules']['debug'] = [
    'class' => 'yii\debug\Module',
  ];
  $config['bootstrap'][] = 'gii';
  $config['modules']['gii'] = [
    'class' => 'yii\gii\Module',
  ];
}
return $config;

最后返回的一个数组,数组的key都是Application的属性。

我们到控制器中来访问一下:

public function actionIndex()
{
    echo \Yii::$app->id,'<br>';
    echo \Yii::$app->name,'<br>';
    exit;
    return $this->render('index',['username'=>'张三','age'=>22]);
}

Yii2框架配置文件(Application属性)与调试技巧实例分析

在入口文件web/index.php 里会加载这个config.php 配置文件,来创建一个Application

#...
$config = require(__DIR__ . '/../config/web.php');
(new yii\web\Application($config))->run();

调试技巧

助手类Yii,服务于整个框架,提供一些基础方法:记录日志、调试等
\Yii:warning()日志文件runtime/logs/app.log
\Yii::error()
\Yii::info()

\Yii:trace('调试内容','test') 

Yii2框架配置文件(Application属性)与调试技巧实例分析

Yii2框架配置文件(Application属性)与调试技巧实例分析

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
Feb 16 PHP
PHP var_dump遍历对象属性的函数与应用代码
Jun 04 PHP
php dirname(__FILE__) 获取当前文件的绝对路径
Jun 28 PHP
PHP Error与Logging函数的深入理解
Jun 03 PHP
探讨:parse url解析URL,返回其组成部分
Jun 14 PHP
PHP安全的URL字符串base64编码和解码
Jun 19 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
Dec 17 PHP
PHP实现指定字段的多维数组排序函数分享
Mar 09 PHP
php文件扩展名判断及获取文件扩展名的N种方法
Sep 12 PHP
PHP开发中常用的十个代码样例
Feb 02 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
Jun 20 PHP
php-7.3.6 编译安装过程
Feb 11 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
May 27 #PHP
Yii2框架操作数据库的方法分析【以mysql为例】
May 27 #PHP
php session_decode函数用法讲解
May 26 #PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 #PHP
Yii2框架自定义类统一处理url操作示例
May 25 #PHP
Yii2框架加载css和js文件的方法分析
May 25 #PHP
php数组遍历类与用法示例
May 24 #PHP
You might like
桌面中心(一)创建数据库
2006/10/09 PHP
thinkphp模板继承实例简述
2014/11/26 PHP
PHP设计模式之适配器模式定义与用法详解
2018/04/03 PHP
laravel5.6实现数值转换
2019/10/23 PHP
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
HTML-CSS群中单选引发的“事件”
2007/03/05 Javascript
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
2011/09/20 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
js replace替换所有匹配的字符串
2014/02/13 Javascript
调用DOM对象的focus使文本框获得焦点
2014/02/19 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
详解ES6通过WeakMap解决内存泄漏问题
2018/03/09 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
python获取从命令行输入数字的方法
2015/04/29 Python
Python简明入门教程
2015/08/04 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
2019/08/07 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
.net面试题
2015/12/22 面试题
Linux上比较文件的命令都有哪些
2012/02/24 面试题
绘画设计学生的个人自我评价
2013/09/20 职场文书
毕业生自荐信的主要内容
2013/10/29 职场文书
会议开场欢迎词
2014/01/15 职场文书
高中生的自我鉴定范文
2014/01/24 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
旅游管理专业大学生职业规划书
2014/02/27 职场文书
公司股权转让协议书
2014/04/12 职场文书
初中同学会活动方案
2014/08/22 职场文书
劳动纠纷调解协议书格式
2014/11/30 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
MySQL时区造成时差问题
2022/04/13 MySQL