如何設置和使用Laravel帆
使用作曲家安裝Laravel或使用PHP Artisan Sail的現有項目添加帆:安裝。 2。使用.//vendor/bin/sail UP -D啟動Docker環境以在後台運行容器。 3。訪問http:// localhost和諸如端口3306上的MySQL,6379的MySQL和8025的MailHog等服務。 5。使用用於MySQL和Redis等Docker服務預配置的默認.ENV文件。 6。通過編輯Docker -Compose.yml自定義服務,然後以帆向上啟動-d重新啟動。 7.停止以帆向下的容器或將其完全拆除,以帆向下-V以進行乾淨的設置。 8。可選,為帆上創建一個全局別名,以簡化跨項目的命令。常見問題包括端口衝突和MACOS上的NPM安裝緩慢,可以通過釋放端口或重建圖像來減輕這些安裝。 Laravel Sail提供了一個一致的基於Docker的開發環境,可消除機器之間的配置差異,使其非常適合初學者和團隊。
Laravel Sail是一種輕巧的命令行界面,用於與Laravel的默認Docker開發環境進行互動。它使您可以使用Docker開發Laravel應用程序,而無需手動配置Nginx,MySQL或Redis等複雜工具。帆對於希望在機器上保持一致環境的初學者和團隊特別有用。
這是逐步設置和使用Laravel Sail的方法。
1。乘船安裝Laravel
開始帆的最簡單方法是使用作曲家創建一個新的Laravel項目。打開終端並運行:
作曲家創建項目Laravel/Laravel My-App CD my-app
Laravel 8帶有預裝的帆。如果您使用的是舊版本,則可以通過以下方式安裝它:
PHP Artisan帆:安裝
此命令發布docker-compose.yml
文件並在您的項目中設置啟動。
2。啟動Docker環境
安裝帆後,使用sail up
命令開始開發環境:
./vendor/bin/sail
這將:
- 拉或構建所需的Docker圖像(例如PHP,MySQL,Redis等)
- 在後台啟動容器
- 在
http://localhost
上服務您的Laravel應用程序
提示:使用
./vendor/bin/sail up -d
以獨立模式運行容器(在後台運行)。
3。訪問應用程序
sail up
後,您的Laravel應用程序將在以下位置訪問:
http:// localhost
您也可以訪問以下服務:
- 端口
3306
上的mysql - 港口
6379
-
http://localhost:8025
用於測試電子郵件的mailhog(如果已啟用)
確保在主機機器上尚未使用這些端口。
4。運行工匠和作曲家命令
您可以在帆容器內運行命令,而不是本地安裝PHP或作曲家。
運行工匠命令:
./vendor/bin/sail Artisan遷移 ./vendor/bin/sail Artisan DB:種子 ./vendor/bin/sail Artisan Make:Controller PostController
運行作曲家:
./vendor/bin/sail Composer需要Laravel/Sanctum
運行節點/npm:
./vendor/bin/sail NPM安裝 ./vendor/bin/sail npm運行開發
您可以每次通過創建一個別名避免鍵入./vendor/bin/sail
。
5。配置環境變量
SAIL在您的Laravel項目中使用標準.env
文件。默認.env
文件包括用於使用Docker服務的設置:
db_connection = mysql db_host = mysql db_port = 3306 db_database = laravel db_username =帆 db_password =密碼
這些值與docker-compose.yml
中的默認Docker設置匹配。除非自定義服務,否則您通常不需要更改它們。
6。定制Docker服務
項目根部中的docker-compose.yml
文件定義了所有容器。您可以將其修改為:
- 添加更多服務(例如,MongoDB,Elasticsearch)
- 更改端口
- 安裝額外的捲
- 升級PHP版本
例如,在另一個端口上公開MySQL:
mysql: 端口: - '3307:3306'
更改後,重新啟動帆:
./vendor/bin/sail down ./vendor/bin/sail up -d
7。停止並清理
停止所有容器:
./vendor/bin/sail down
停止和刪除容器,網絡和卷:
./vendor/bin/sail down -v
當您想要一個乾淨的板岩時,這很有幫助。
8。使用帆作為全球快捷方式(可選)
要保存鍵入,請在外殼中添加一個別名(例如, .zshrc
或.bashrc
):
別名帆='[-f帆] && sh帆|| sh供應商/垃圾箱/帆
然後,您可以運行:
航行-d 帆工匠遷移 帆作曲家安裝
這是從任何Laravel Sail項目中使用的。
常見問題和提示
- 端口衝突:確保端口80、3306、6379等不使用本地服務(例如,MAMP,MySQL,通過Homebrew安裝)。
- 慢速
npm install
:這通常是由於Docker中的音量安裝所致。考慮使用sail build --no-cache
。 - 存儲/日誌的權限:如果您獲得文件權限錯誤,請運行:
./vendor/bin/sail exec laravel.test chown -r www-data:www-data存儲/
使用Laravel Sail可以簡化Docker的Laravel開發。您將獲得一個一致,可共享的環境,而無需進行手動設置的麻煩。無論您是獨自工作還是在團隊中工作,帆都會有助於消除“它在我的機器上有效”問題。
基本上,只需
sail up
,您就可以在一個完整的Laravel堆棧中進行編碼。以上是如何設置和使用Laravel帆的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Laravel的配置緩存通過合併所有配置文件為一個緩存文件來提升性能。在生產環境中啟用配置緩存可減少每次請求時的I/O操作和文件解析,從而加快配置加載速度;1.應在部署應用、配置穩定且無需頻繁更改時啟用;2.啟用後修改配置需重新運行phpartisanconfig:cache才會生效;3.避免在配置文件中使用依賴運行時條件的動態邏輯或閉包;4.排查問題時應先清除緩存、檢查.env變量並重新緩存。

thetranslatorfacadeinlaravelisused forlocalization byfetchingTranslatingStringSandSwitchingLanguagesAtruntime.Touseit,storetranslationslationstringsinlanguagefilesunderthelangderthelangdirectory(例如,ES,ES,FR),thenretreiveTreivEthemvialang :: thenretRievEtheMvialang :: get()

UseMockeryforcustomdependenciesbysettingexpectationswithshouldReceive().2.UseLaravel’sfake()methodforfacadeslikeMail,Queue,andHttptopreventrealinteractions.3.Replacecontainer-boundserviceswith$this->mock()forcleanersyntax.4.UseHttp::fake()withURLp

Laravel的EloquentScopes是封裝常用查詢邏輯的工具,分為本地作用域和全局作用域。 1.本地作用域以scope開頭的方法定義,需顯式調用,如Post::published();2.全局作用域自動應用於所有查詢,常用於軟刪除或多租戶系統,需實現Scope接口並在模型中註冊;3.作用域可帶參數,如按年份或月份篩選文章,調用時傳入對應參數;4.使用時注意命名規範、鍊式調用、臨時禁用及組合擴展,提升代碼清晰度與復用性。

checkphp> = 8.1,作曲家和韋伯佛; 2.cleteproeateprojectandruncomposerinstall; 3.copy.env.exampleto.envandrunphpartisankey :生成; 4.setDatabasecredentialsin.envandrunphpartisanmigrate-seed; 5.StartServerServerWithPhpartisanServe; 6.optionallyrunnnpmins

創建referrals表記錄推薦關係,包含推薦人、被推薦人、推薦碼及使用時間;2.在User模型中定義belongsToMany和hasMany關係以管理推薦數據;3.用戶註冊時生成唯一推薦碼(可通過模型事件實現);4.註冊時通過查詢參數捕獲推薦碼,驗證後建立推薦關係並防止自薦;5.當被推薦用戶完成指定行為(如下單)時觸發獎勵機制;6.生成可分享的推薦鏈接,可使用Laravel簽名URL增強安全性;7.在儀表板展示推薦統計信息,如總推薦數和已轉化數;必須確保數據庫約束、會話或Cookie持久化、

Createahelpers.phpfileinapp/HelperswithcustomfunctionslikeformatPrice,isActiveRoute,andisAdmin.2.Addthefiletothe"files"sectionofcomposer.jsonunderautoload.3.Runcomposerdump-autoloadtomakethefunctionsgloballyavailable.4.Usethehelperfunctions

Chooseafeatureflagstrategysuchasconfig-based,database-driven,orthird-partytoolslikeFlagsmith.2.Setupadatabase-drivensystembycreatingamigrationforafeature_flagstablewithname,enabled,andrulesfields,thenrunthemigration.3.CreateaFeatureFlagmodelwithfilla
