yii2.x之web配置
admin
2023-06-16 20:41:44
0

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

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

 '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)

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

相关内容

热门资讯

菲总统马科斯访日,菲律宾民众在... 【环球时报报道 记者 邢晓婧】菲律宾总统马科斯26日抵达日本,开启为期4天的访日行程。据菲律宾ABS...
国家安全部提示:这些码不能随便... 扫码关注,扫码支付,扫码登录……二维码已融入我们工作、生活的方方面面,为我们提供了巨大便利。然而,国...
伊比莱瑞取得不锈钢粉末自动注射... 国家知识产权局信息显示,东莞市伊比莱瑞科技有限公司取得一项名为“一种不锈钢粉末自动注射成型装置”的专...
星链涨价5倍,五角大楼和Spa... 【文/观察者网 熊超然】随着亿万富翁马斯克拥有的“星链”(Starlink)网络引导美制自杀式无人机...
人民日报刊文:妄图洗白成“解放... 妄图洗白成“解放者”,日本注定徒劳(环球走笔)牛瑞飞 《人民日报》(2026年05月27日 第 15...
AI支付时代要来了吗?支付宝A... 【大河财立方 记者 杨霄 王宇】5月26日,在支付宝AI支付生态大会上,支付宝宣布,“AI支付”已完...
毫厘间的山河:0.001%背后... 元素周期表的版图上,锌,是一块古老而平凡的疆域。但当它的纯度跃升至99.998%时,这块金属便被赋予...
朝鲜进行新型武器系统试射 当地时间5月26日,朝鲜导弹总局和国防科学院进行轻型多用途导弹发射系统和多管战术巡航导弹武器系统试验...
原创 华... 华为各大产品全面发展,而且是多系列多版本,其中手机/笔记本均拥有4个系列,平板/手表均拥有6个系列,...
俄法院裁定:立即赔偿俄约200... △俄罗斯中央银行(资料图)当地时间5月26日,俄罗斯莫斯科仲裁法院批准俄央行的申请,将对欧洲清算银行...