第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Composer (PHP) 如何融入 Docker 工作流程?

Composer (PHP) 如何融入 Docker 工作流程?

PHP
jeck貓 2023-08-06 10:37:46
我希望了解將 Composer (PHP) 融入我的 Docker WordPress 開(kāi)發(fā)工作流程的最佳實(shí)踐。我剛剛開(kāi)始使用 Docker 以及 Composer 進(jìn)行 PHP/WordPress 開(kāi)發(fā)。這是一個(gè)有點(diǎn)陡峭的學(xué)習(xí)曲線,但就我閱讀了大量指南和教程而言,這一切似乎都是有意義的。我已經(jīng)使用了 Docker,并且(我認(rèn)為)對(duì)如何/為什么使用它有很好的理解。我知道 Docker 的一個(gè)好處是我不需要修改我的主機(jī)操作系統(tǒng),即安裝 PHP 和 Composer,而且它使移動(dòng)變得很容易,因?yàn)樗怂璧囊磺?。許多教程似乎在主機(jī)操作系統(tǒng)上安裝了 Composer 和 PHP,因?yàn)樵O(shè)置項(xiàng)目的第一步是使用 Composer 在主機(jī)操作系統(tǒng)上拉取諸如 Roots Bedrock 之類(lèi)的東西,然后使用該目錄作為 Docker 中的卷。據(jù)我所知,到目前為止,這不是最好的方法,因?yàn)槲艺谛薷闹鳈C(jī)操作系統(tǒng),并且項(xiàng)目容器不包含運(yùn)行所需的所有內(nèi)容。我對(duì)更好方法的最佳猜測(cè)是一個(gè)專(zhuān)用的 Composer 容器,它將我的整個(gè)項(xiàng)目目錄(包含我所有不同的項(xiàng)目)作為一個(gè)卷。然后,我可以在該容器中的適當(dāng)項(xiàng)目目錄上運(yùn)行 Composer 命令。我的癥結(jié)在于,每個(gè)項(xiàng)目容器并不包含運(yùn)行(Composer)所需的所有內(nèi)容。所以我的下一個(gè)想法是每個(gè)項(xiàng)目都應(yīng)該有一個(gè)自己的 Composer 容器。這將導(dǎo)致每個(gè)項(xiàng)目都有以下容器:WordPress 官方鏡像、MariaDB、phpMyAdmin、Composer。我不確定這是否會(huì)導(dǎo)致每個(gè)項(xiàng)目都使用 4 個(gè)容器?如果有人能夠就執(zhí)行此操作的最佳實(shí)踐方法以及原因提出建議,我將非常感激!謝謝!:)
查看完整描述

1 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

在本地項(xiàng)目wp主題目錄中,運(yùn)行包安裝命令...

composer?require?nesbot/carbon

然后,這將在您的主題目錄中創(chuàng)建這些文件和文件夾(不是 .gitignore 文件)

https://img1.sycdn.imooc.com/64cf08030001b4e101940249.jpg

您可以使用此方法安裝任意數(shù)量的軟件包。


如果你查看該composer.json文件,你會(huì)看到這個(gè) json 數(shù)組......


{

? ? "require": {

? ? ? ? "nesbot/carbon": "^2.36"

? ? }

}

因此,如果您想刪除 Composer 包,只需vendor/package從 json 數(shù)組中獲取密鑰并像這樣運(yùn)行它......


composer remove nesbot/carbon

理想情況下不要手動(dòng)編輯該composer.json文件。使用 Composer 命令來(lái)構(gòu)建此文件。


現(xiàn)在您已經(jīng)安裝了一些作曲家軟件包,您需要將它們加載到您的主題中。


在functions.php頂部或您打算調(diào)用包之前的任何位置,添加此 php 代碼...


// load our composer autoloader

require 'vendor/autoload.php';

該autoload.php文件是通過(guò) Composer 生成的,并加載所有已安裝的包和包依賴(lài)項(xiàng),


現(xiàn)在您可以像這樣在主題 php 中使用包...(Netspot Carbon示例)


use Carbon\Carbon;


$time = Carbon::createFromTimestampMs($cart['updated']['time'],'Asia/Dubai');

此外,您永遠(yuǎn)不需要將文件上傳composer.json到composer.lock您的服務(wù)器。您只需要部署該vendor文件夾。


并且您永遠(yuǎn)不需要提交vendor文件夾,您只需要提交composer.json. 有了這個(gè) json 文件,您可以使用此命令輕松地重新構(gòu)建vendor文件夾和composer.lock文件...


composer install

...將項(xiàng)目拉到另一臺(tái)計(jì)算機(jī)時(shí)很方便。


供應(yīng)商文件夾可能非常重,并且對(duì)其進(jìn)行版本控制(git)毫無(wú)意義,因?yàn)樗點(diǎn)omposer.json保存了當(dāng)前的包版本。


查看完整回答
反對(duì) 回復(fù) 2023-08-06
  • 1 回答
  • 0 關(guān)注
  • 154 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)