今天想把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
文件,初始化的所有重要函数都在这个文件中实现。