亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

PHP
jeck貓 2023-08-06 10:37:46
我希望了解將 Composer (PHP) 融入我的 Docker WordPress 開發工作流程的最佳實踐。我剛剛開始使用 Docker 以及 Composer 進行 PHP/WordPress 開發。這是一個有點陡峭的學習曲線,但就我閱讀了大量指南和教程而言,這一切似乎都是有意義的。我已經使用了 Docker,并且(我認為)對如何/為什么使用它有很好的理解。我知道 Docker 的一個好處是我不需要修改我的主機操作系統,即安裝 PHP 和 Composer,而且它使移動變得很容易,因為它包含了所需的一切。許多教程似乎在主機操作系統上安裝了 Composer 和 PHP,因為設置項目的第一步是使用 Composer 在主機操作系統上拉取諸如 Roots Bedrock 之類的東西,然后使用該目錄作為 Docker 中的卷。據我所知,到目前為止,這不是最好的方法,因為我正在修改主機操作系統,并且項目容器不包含運行所需的所有內容。我對更好方法的最佳猜測是一個專用的 Composer 容器,它將我的整個項目目錄(包含我所有不同的項目)作為一個卷。然后,我可以在該容器中的適當項目目錄上運行 Composer 命令。我的癥結在于,每個項目容器并不包含運行(Composer)所需的所有內容。所以我的下一個想法是每個項目都應該有一個自己的 Composer 容器。這將導致每個項目都有以下容器:WordPress 官方鏡像、MariaDB、phpMyAdmin、Composer。我不確定這是否會導致每個項目都使用 4 個容器?如果有人能夠就執行此操作的最佳實踐方法以及原因提出建議,我將非常感激!謝謝!:)
查看完整描述

1 回答

?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

在本地項目wp主題目錄中,運行包安裝命令...

composer?require?nesbot/carbon

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

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

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


如果你查看該composer.json文件,你會看到這個 json 數組......


{

? ? "require": {

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

? ? }

}

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


composer remove nesbot/carbon

理想情況下不要手動編輯該composer.json文件。使用 Composer 命令來構建此文件。


現在您已經安裝了一些作曲家軟件包,您需要將它們加載到您的主題中。


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


// load our composer autoloader

require 'vendor/autoload.php';

該autoload.php文件是通過 Composer 生成的,并加載所有已安裝的包和包依賴項,


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


use Carbon\Carbon;


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

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


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


composer install

...將項目拉到另一臺計算機時很方便。


供應商文件夾可能非常重,并且對其進行版本控制(git)毫無意義,因為它composer.json保存了當前的包版本。


查看完整回答
反對 回復 2023-08-06
  • 1 回答
  • 0 關注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號