当前位置: 首页 > 后端技术 > PHP

Deployerinit命令

时间:2023-03-29 18:50:26 PHP

0简介Deployer安装完成后,输入depinit开始初始化,生成默认配置文件。deploy.phpinit命令的实现在srcConsoleInitCommand.php文件中。scrInitializer目录包含初始化相关模板1InitCommand.phpinit命令1InitCommand类classInitCommandextendsCommand{}InitCommand继承Symfony的Command类,实现为命令行命令2__constrcut()构造函数构造函数主要初始化InitCommand的两个变量初始化程序和可用模板。模板的初始化器的具体实现是下面要分析的InitalizeravailableTemplates。它是在初始化程序中注册的模板名称数组。3configure()命令配置函数调用Symfony命令的setName()、setDescription()、addOption()来配置init命令setName("init")命令名称为initsetDescription()设置命令的描述信息,并在输入help时显示addOption()添加三个选项-template默认初始化模板-directory配置文件deploy.php生成的目录-filename配置文件的名称,默认为deploy.php4execute()命令执行函数首先获取命令行输入的选项参数$template$directory$file如果没有输入$template,会调用Symfony输出模板选项信息提示用户选择模板,然后调用初始化器的initialize()方法初始化配置文件,并输出提示信息,表示创建配置文件成功。5createInitializer()创建初始化程序。它在InitCommand的构造函数中用于创建初始化程序。部署器附带的模板已注册。2InitializerTemplateinitializer1Initializer.phpInitializer0IntroductionInitializer类部署r用于管理配置模板的初始化器1addTemplate()添加模板将模板添加到模板初始化器2getTemplateNames()获取已注册的模板名称并返回所有已注册模板名称的数组3initalize()初始化配置模板$template参数模板类型$directory参数配置模板生成目录$file参数配置模板文件名$params参数其他参数首先根据$template获取对应注册的模板类然后创建模板文件最后调用获取到的模板类的initalize()初始化模板文件4checkDirectoryBeforeInitialize()检查初始化模板目录并创建5checkFileBeforeInitialize()检查初始化模板文件并创建2模板初始化模板1TemplateInterface.php模板接口声明所有模板类都需要实现initalize()方法到initialize模板类的配置文件2Template.php模板基类initalize()初始化模板文件,首先将参数信息合并到$params中。然后调用模板子类的getTemplateContent()获取模板内容。将获取的内容写入模板配置文件3CommonTemplate基础模板类1getTemplateContent()获取模板内容获取简单模板内容4FrameworkTemplate.php框架模板基类1getTemplateContent()1getTemplateContent()获取模板内容框架类基础templatecontent然后调用getExtraContent()获取特定框架的内容信息2getRecipe()获取模板菜谱名称3getExtraContent()获取特定框架类的配置内容5LaravelTemplateLaravel配置模板类框架模板这里的类以Laravel为例1getRecipe()获取框架的recipe名称,部署者为Laravel框架预设部署流程。具体内容在recipe目录下的laravel文件中。这里的GetRecipe()是获取文件名。2getExtraContent()获取Laravel框架的具体内容。这里主要是注册deploy:symlink。执行artisn:migrate命令前3小结init命令初始化deploy配置文件deploy.php,根据option参数获取模板,并初始化不同的模板。-2018-4-518:58