yii2.x之web配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yii2.x之web配置相关的知识,希望对你有一定的参考价值。

    我这里是以basic版为基础讲解的。但高级版应该也是一样的。基本版配置文件config/web.php

yii默认的控制器是site,这里要改成我们习惯的index,只需要在$config这个数组里面加上

<?php
$config=[
    ......
    
    ‘defaultRoute‘ => ‘index‘,
    
    ......
]

你也可以改成其它你想要的默认控制器。

url美化

$config=[
    ......
    
    ‘defaultRoute‘ => ‘index‘,
    
    ‘components‘ => [
        ‘urlManager‘ => [
            ‘enablePrettyUrl‘ => true,
            ‘showScriptName‘ => false,
            ‘enableStrictParsing‘ => false,
            ‘rules‘ => [],
            ‘suffix‘ => ‘.html‘,
        ],
    ]
    ......
]

enablePrettyUrl属性:是必需的,因为它可以切换漂亮的URL格式。

showScriptName属性:是否在构造的URL中显示条目脚本名称。 默认为true。 此属性仅在$ enablePrettyUrl为true时使用。为true的时候创建url,index.php/user/100。为false的时候创建url,/user/100

enableStrictParsing:此属性确定是否启用严格请求解析。 如果启用了严格的解析,则传入的请求的URL必须与至少一个规则相匹配才能被视为有效的请求,否则将抛出一个yii \ web \ NotFoundHttpException。 如果禁用了严格的解析,当没有任何规则与请求的URL匹配时,URL的路径信息部分将被视为请求的路由。

rules:此属性包含指定如何解析和创建URL的规则列表。 您应该使用的主要属性是为了创建格式满足特定应用程序要求的URL。

suffix:enablePrettyUrl为true时使用的URL后缀。 例如,可以使用“.html”,以便URL看起来像指向静态HTML页面。 此属性仅在$ enablePrettyUrl为true时使用。

常规的url美化的配置就这些了。在就是nginx是添加上rewrite

location /{
    try_files $uri $uri/ /index.php?$args;
}

日志配置

$config=[
    ......
    
    ‘defaultRoute‘ => ‘index‘,
    
    ‘components‘ => [
        ‘urlManager‘ => [
            ‘enablePrettyUrl‘ => true,
            ‘showScriptName‘ => false,
            ‘enableStrictParsing‘ => false,
            ‘rules‘ => [],
            ‘suffix‘ => ‘.html‘,
        ],
        ‘log‘ => [
        ‘traceLevel‘ => YII_DEBUG ? 3 : 0,
        ‘targets‘ => [
            [
                ‘class‘ => ‘yii\log\FileTarget‘,
                ‘levels‘ => [‘error‘, ‘warning‘],
                ‘logVars‘ => [‘_GET‘, ‘_POST‘],
                ‘logFile‘ => "@runtime/logs/".date("Y-m-d").".log"
            ],
        ],
    ],
    ]
    ......
]

yii保存日志有几种方式

  • yii\log\DbTarget:在数据库表里存储日志消息。

  • yii\log\EmailTarget:发送日志消息到预先指定的邮箱地址。

  • yii\log\FileTarget:保存日志消息到文件中.

  • yii\log\SyslogTarget:通过调用PHP函数 syslog() 将日志消息保存到系统日志里。

这里我只说说我自己最常用的保存日志消息到文件中。其它的以后有时间,在专一个博客来讲吧。

traceLevel:设置了 yii\log\Dispatcher::traceLevel 的层级,假如 YII_DEBUG 开启则是3,否则是0。 这意味着,假如 YII_DEBUG 开启,每个日志消息在日志消息被记录的时候, 将被追加最多3个调用堆栈层级;假如 YII_DEBUG 关闭, 那么将没有调用堆栈信息被包含。

class:说明选择哪种方式应用日志。我这里是用的文件保存。

levels:指定哪个消息的严重程度和分类目标应该处理。

logVars:默认包含$_GET$_POST$_FILES$_COOKIE,$_SESSION 和 $_SERVER 这些全局的上下文请求。我这里配置的是只记录get和post请求的上下文,你可以将 logVars 配置成一个空数组来完全禁止上下文信息包含,只在日志里记录levels定义的信息。

logFile:日志的路径及文件名。默认的是app.log。我这里配置成按每天的时间生成日志。(2017-09-01.log)

先写这么多吧。以后有时间在和大家分享

本文出自 “coding” 博客,请务必保留此出处http://xtceetg.blog.51cto.com/5086648/1961860

以上是关于yii2.x之web配置的主要内容,如果未能解决你的问题,请参考以下文章

Choose unique values for the 'webAppRootKey' context-param in your web.xml files! 错误的解决(代码片段

JAVA WEB代码片段

web代码片段

面向面试编程代码片段之GC

代码片段 - Golang 实现简单的 Web 服务器

高效Web开发的10个jQuery代码片段