yii基础配置
cookieValidateionKey 设置
config/web.php
urlManager 设置
config/web.php
新建router.php 专门做路由规则文件
数据库配置
默认首页
config/router.php
return [
'enblePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
"/" => "/default/index"
]
]
config/web.php
return 'urlManager' => require(__DIR__."/router.php")
con/DefaultController
class DefaultController
{
public function actionIndex()
{
return 'index';
}
}
config/db.php 修改数据库配置
框架的错误处理和记录
errorHandler 指定处理控制器和方法
记录到文件和数据库
config/web.php
return [
'errorHandler' => [
'errorAction' => 'error/error',
]
]
con/ErrorController
class ErrorController extends Controller
{
public function actionError() {
//记录错误信息到文件和数据库
$error = \Yii::$app->errorHandler->exception;
$err_msg = '';
if ($error) {
$file = $error -> getFile();
$line = $error->getLine();
$message = $error->getMessage();
$code = $error->getCode();
$log = new FileTarget();
$log->logFile = \Yii::$app->getRuntimePath()."/logs/err.log";
$err_msg = $message."[file:{$file}][line:{$line}][code:${$code}][url:{$_SERVER['REQUEST_URL'][POST_DATA:".http_build_query($_POST)."]}]"
$log->message[] = [
$err_msg,
1,
'application',
microtime(true)
];
$log->export();
}
return '错误页面<br/>错误信息:'.$err_msg;
}
}
版本号管理
为什么需要版本号
记录系统的成长迭代
可以方便错误回滚
解决静态文件缓存
web/index
if (file_exists('/data/www/release_version/version_book')) {
//如果存在保存版本号的文件
define ("RELEASE_VERSION", trim(file_get_contents("/data/www/release_version/version_book")))
} else {
//不存存则使用时间戳
define ("RELEASE_VERSION", time());
}
业务代码架构
使用gii
config/web
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
'allowedIPs' => ['127.0.0.1', '192.168.*.*']
]
会员端
更改配置
config/web.php
浏览器输入https://hostname/web
管理员端
浏览器输入https://hostname/m