Yii2框架配置文件(Application属性)与调试技巧实例分析
时间:2022-07-27
本文章向大家介绍Yii2框架配置文件(Application属性)与调试技巧实例分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了Yii2框架配置文件(Application属性)与调试技巧。分享给大家供大家参考,具体如下:
配置文件
Yii2的主要配置文件configweb.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' = '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的属性。
我们到控制器中来访问一下:
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 yiiwebApplication($config))- run();
调试技巧
助手类Yii,服务于整个框架,提供一些基础方法:记录日志、调试等
Yii:warning()
日志文件runtime/logs/app.log
Yii::error()
Yii::info()
Yii:trace('调试内容','test')
- fastText、TextCNN、TextRNN…这套NLP文本分类深度学习方法库供你选择
- nfc开发
- N-CryptoAsset投资组合 | 使用PCA识别高度相关的加密货币(最近听说某币很疯狂哦!)
- 仿刮刮乐刮奖效果
- Spacebuilder在Mono上运行修改备忘
- maven配置详解
- 这一新的可视化方法教你优雅地探索相关性
- LSTM Networks在股票市场上的探究
- MSBuild的简单介绍与使用
- actionbar详解(二)
- actionbar完全解析(一)
- android galley实现画廊效果
- RavenDB:基于Windows/.NET平台的NoSQL数据库
- 神经网络算法交易:波动预测与定制损失函数
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 溯源黑帽利用 Web 编辑器漏洞非法植入 SEO 页面事件
- Milvus 查询合并机制
- Django model 层之Models与Mysql数据库小结
- 【010期】JavaSE面试题(十):集合之Map18连环炮!
- 每日打卡 373. 查找和最小的K对数字
- IE11出现"__doPostBack”未定义
- latex()、ploy2sym()、symsum()的妙用
- 性能最佳实践:MongoDB数据建模和内存大小调整
- 节省你生命的一个小技术No.193
- K8S 生态周报| Traefik v2.3.0-rc2 发布
- 如何从 Notion 批量导出 Markdown?
- 【LeetCode】1518. 换酒问题
- OBS推流工具使用说明
- Python多进程
- app反编译遇到360加固,傻瓜式脱壳