本文实例讲述了Yii2框架配置文件(Application属性)与调试技巧。分享给大家供大家参考,具体如下:
配置文件
Yii2的主要配置文件configweb.php:
代码语言:javascript复制<?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' = 'yiicachingFileCache',
],
'user' = [
'identityClass' = 'appmodelsUser',
'enableAutoLogin' = true,
],
'errorHandler' = [
'errorAction' = 'site/error',
],
'mailer' = [
'class' = 'yiiswiftmailerMailer',
// 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' = 'yiilogFileTarget',
'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' = 'yiidebugModule',
];
$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = [
'class' = 'yiigiiModule',
];
}
return $config;
最后返回的一个数组,数组的key都是Application的属性。
我们到控制器中来访问一下:
代码语言:javascript复制public function actionIndex()
{
echo Yii::$app- id,'<br ';
echo Yii::$app- name,'<br ';
exit;
return $this- render('index',['username'= '张三','age'= 22]);
}
在入口文件web/index.php 里会加载这个config.php 配置文件,来创建一个Application
代码语言:javascript复制#...
$config = require(__DIR__ . '/../config/web.php');
(new yiiwebApplication($config))- run();
调试技巧
助手类Yii,服务于整个框架,提供一些基础方法:记录日志、调试等
Yii:warning()
日志文件runtime/logs/app.log
Yii::error()
Yii::info()
Yii:trace('调试内容','test')