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]); }
在入口文件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')
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
Yii2框架配置文件(Application属性)与调试技巧实例分析
- Author -
学习笔记666声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@