今天想把yii2的初始化功能给修改一下时,顺便研究了初始化的几个相关文件,总结了几个知识点。
1. 先看下init.bat文件,抱歉,真看不懂
。
2. 再看下environments/index.php文件,抱歉,还是看不懂
。
假的,学的就是php,怎么可能连php文件都看不懂呢
。return [
'Development' => [
'path' => 'dev',
'setWritable' => [
'backend/runtime',
'backend/web/assets',
'frontend/runtime',
'frontend/web/assets',
],
'setExecutable' => [
'yii',
'yii_test',
],
'setCookieValidationKey' => [
'backend/config/main-local.php',
'frontend/config/main-local.php',
],
],
'Production' => [], // 不列出来了,自己查看文件
];
Development和Production比较好理解,Development代表开发环境,而Production代表生产环境。
接着,根据注释可以知道,path是存储对应环境的本地文件(夹)的目录路径,这些文件(夹)将被复制到根目录下;
setWritable是指定应用所需的应该设置为可写的目录列表,列表中的目录将被设置为0777权限;
setExecutable跟setWritable差不多,将列表中的文件设置为可执行(0755)权限;
setCookieValidationKey随机生成一个cookie秘钥,并将秘钥插入的列表中的文件中(注意:列表中的文件必须包含'cookieValidationKey' => '',否则将无法插入。因为它用的是正则匹配替换);
除了上面4个参数,还有2个参数上面没有使用到:
skipFiles列表中的文件只被复制一遍,如果已经存在,则跳过;
createSymlink要创建的快捷方式列表,键是快捷方式,值是快捷方式的目标目录。
3.还有一个重要的文件就是init文件,初始化的所有重要函数都在这个文件中实现。