摘要:簡(jiǎn)介安裝完成后輸入開(kāi)始初始化,生成默認(rèn)的配置文件命令的實(shí)現(xiàn)在文件中目錄則包含了初始化相關(guān)的模板命令類類繼承了的類,實(shí)現(xiàn)為一個(gè)命令行的命令構(gòu)造函數(shù)構(gòu)造函數(shù)主要初始化了的和兩個(gè)變量是一個(gè)包含了多個(gè)模板的初始化器具體實(shí)現(xiàn)就是下面將要分析的是初始化
0 簡(jiǎn)介
Deployer安裝完成后1 InitCommand.php init命令 1 InitCommand類
輸入dep init開(kāi)始初始化,生成默認(rèn)的配置文件deploy.php
init命令的實(shí)現(xiàn)在srcConsoleInitCommand.php文件中
scrInitializer目錄則包含了初始化相關(guān)的模板
class InitCommand extends Command{}
InitCommand類繼承了Symfony的Command類,2 __constrcut() 構(gòu)造函數(shù)
實(shí)現(xiàn)為一個(gè)命令行的命令
構(gòu)造函數(shù)主要初始化了InitCommand的initializer和availableTemplates兩個(gè)變量3 configure() 命令配置函數(shù)initalizer 是一個(gè)包含了多個(gè)模板的初始化器
具體實(shí)現(xiàn)就是下面將要分析的InitalizeravailableTemplates 是初始化器中已注冊(cè)的模板名數(shù)組
這里調(diào)用Symfony的command的setName(),setDescription(),addOption()配置了init命令4 execute() 命令執(zhí)行函數(shù)
setName("init") 命令名稱為initsetDescription() 設(shè)置了命令的描述信息,在輸入help時(shí)顯示
addOption() 添加了三個(gè)選項(xiàng)-template默認(rèn)初始化模板
-directory 配置文件deploy.php生成目錄 -filename 配置文件的名稱,默認(rèn)為deploy.php
首先獲取命令行輸入的選項(xiàng)參數(shù)$template $directory $file5 createInitializer() 創(chuàng)建初始化器
如果沒(méi)有輸入$template,則調(diào)用Symfony輸出模板選項(xiàng)信息提示用戶選擇一個(gè)模板
然后調(diào)用初始化器initializer的initalize()方法開(kāi)始初始化配置文件
輸出提示信息 創(chuàng)建配置文件成功
在InitCommand的構(gòu)造函數(shù)中用來(lái)創(chuàng)建初始化器2 Initializer 模板初始化器 1 Initializer.php 初始化器 0 簡(jiǎn)介
其中注冊(cè)了deployer自帶的模板
Initializer類是deployer用來(lái)管理配置模板的初始化器。1 addTemplate() 添加模板
添加模板到模板初始化器中2 getTemplateNames() 獲取已注冊(cè)模板名
返回已注冊(cè)的所有模板名數(shù)組3 initalize() 初始化配置模板
$template參數(shù) 模板類型4 checkDirectoryBeforeInitialize()
$directory參數(shù) 配置模板生成目錄
$file參數(shù) 配置模板文件名
$params參數(shù) 其他參數(shù)首先根據(jù)$template獲取對(duì)應(yīng)的注冊(cè)的模板類
然后創(chuàng)建模板文件
最后調(diào)用獲取的模板類的initalize()初始化模板文件
檢查初始化模板目錄并創(chuàng)建5 checkFileBeforeInitialize()
檢查初始化模板文件并創(chuàng)建2 Template 初始化模板 1 TemplateInterface.php 模板接口
聲明所有模板類需要實(shí)現(xiàn)initalize()方法2 Template.php 模板基類
用來(lái)初始化模板類的配置文件
initalize() 初始化模板文件3 CommonTemplate 基礎(chǔ)模板類 1 getTemplateContent()
首先合并參數(shù)信息到$params。
然后調(diào)用模板子類的getTemplateContent()獲取模板內(nèi)容。
寫入獲取的內(nèi)容到模板配置文件
獲取模板內(nèi)容4 FrameworkTemplate.php 框架模板基類 1 getTemplateContent() 1 getTemplateContent()
獲取簡(jiǎn)單的模板內(nèi)容
獲取模板內(nèi)容2 getRecipe()
框架類模板的基礎(chǔ)內(nèi)容
然后調(diào)用getExtraContent()獲取特定框架的內(nèi)容信息
獲取模板食譜名3 getExtraContent()
獲取特定框架類的配置內(nèi)容5 LaravelTemplate Laravel配置模板類
這里的框架模板類以Laravel為例1 getRecipe()
獲取框架的食譜名稱,deployer為L(zhǎng)aravel框架預(yù)設(shè)了部署流程 具體內(nèi)容在reciple目錄的laravel文件中2 getExtraContent()
這里的getRecipe()就是獲取文件名
獲取Laravel框架的特定內(nèi)容3 總結(jié)
這里主要注冊(cè)了deploy:symlink前執(zhí)行artisn:migrate命令
init 命令初始化deploy的配置文件deploy.php其中根據(jù)選項(xiàng)參數(shù)獲取template 初始化不同的模板。
-2018-4-5 18:58
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28549.html
摘要:文件包含了基本的部署配置和任務(wù),且有明確的注釋,你可以根據(jù)注釋在適當(dāng)?shù)牡胤教砑优渲靡约叭蝿?wù)。自動(dòng)部署到了這里,恭喜你,已經(jīng)可以愉快使用。 showImg(https://pigjian.com/storage/post_img/2017-04-09/deployer.jpg); 本文主要介紹 Deployer —— 一個(gè)具有模塊化、代碼回滾、并行任務(wù)等功能的 PHP 部署工具。 De...
摘要:開(kāi)發(fā)完項(xiàng)目,免不了要部署上線。進(jìn)行部署的過(guò)程中,項(xiàng)目仍然能夠正常訪問(wèn)。能十分方便地進(jìn)行回滾。線上測(cè)試與生產(chǎn)使用的是青云的云主機(jī),系統(tǒng)?;蛘呦朕k法設(shè)置實(shí)現(xiàn)免密碼登錄。 開(kāi)發(fā)完項(xiàng)目,免不了要部署上線。純手動(dòng)操作,登錄、拉代碼、改配置、清緩存、各種服務(wù)重啟等等一條龍下來(lái),人生寶貴的幾分鐘就過(guò)去了。而且手動(dòng)操作十分容易出錯(cuò),遺漏部分步驟都有可能產(chǎn)生一些邪門問(wèn)題。所以我很早就開(kāi)始尋求一種能輕松部...
摘要:博客的架構(gòu)先搞明白博客從搭建到自動(dòng)發(fā)布的架構(gòu),才能更好的理解我們每一步進(jìn)行的操作。整個(gè)搭建流程第一部分服務(wù)器環(huán)境搭建,包括安裝配置創(chuàng)建用戶。在裸庫(kù)的文件夾中,新建文件。 1. 博客的架構(gòu) 先搞明白Hexo博客從搭建到自動(dòng)發(fā)布的架構(gòu),才能更好的理解我們每一步進(jìn)行的操作。不然只跟著步驟過(guò)了一遍,卻不知道為什么這么做。 首先看這張架構(gòu)圖:showImg(https://segmentfaul...
摘要:后來(lái)網(wǎng)上看到了很多和搭建的靜態(tài)博客,由于編輯器的實(shí)用性,及,等代碼托管平臺(tái)的免費(fèi)特點(diǎn),讓很多人都轉(zhuǎn)向了和。于是我也花了兩三天的時(shí)間來(lái)研究搭建了自己的博客。 以前的博客(blog.duweibin.cn)是在學(xué)習(xí)thinkphp的時(shí)候自己做的一個(gè)小項(xiàng)目,模板也是網(wǎng)上找的,后臺(tái)是自己用thinkphp框架寫的,上一個(gè)博客搭建過(guò)程中讓自己學(xué)會(huì)了thinkphp對(duì)MVC操作,(M層還沒(méi)具體用過(guò)...
摘要:功能簡(jiǎn)介實(shí)現(xiàn)的自動(dòng)化部署的任務(wù)執(zhí)行工具項(xiàng)目地址代碼結(jié)構(gòu)命令行入口目錄命令行入口常用項(xiàng)目配置模板發(fā)布腳本核心實(shí)現(xiàn)安裝生成目錄常用項(xiàng)目配置模板目錄下包括一些常見(jiàn)框架部署配置模板相關(guān)命令當(dāng)前運(yùn)行服務(wù)器目錄信息當(dāng)前配置信息當(dāng)前服務(wù)器信息 0 功能簡(jiǎn)介 php實(shí)現(xiàn)的自動(dòng)化部署的任務(wù)執(zhí)行工具 1 項(xiàng)目地址 https://github.com/deployphp/... 2 代碼結(jié)構(gòu) deplo...
閱讀 2373·2023-04-26 01:57
閱讀 3366·2023-04-25 16:30
閱讀 2410·2021-11-17 09:38
閱讀 1207·2021-10-08 10:14
閱讀 1476·2021-09-23 11:21
閱讀 3794·2019-08-29 17:28
閱讀 3551·2019-08-29 15:27
閱讀 1064·2019-08-29 13:04