您好,登錄后才能下訂單哦!
我這里是以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)
先寫這么多吧。以后有時間在和大家分享
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。