>製作Laravel軟件包:綜合指南
>本文深入研究Laravel套件的過程,提供從開發環境設置到分配的結構化方法。 我們將探討關鍵方面,包括功能標記,命名領域,配置和測試。
特徵標記:受控功能推出
>功能標記允許對特定用戶組的新功能進行控制。 Laravel缺乏內置的支持,需要提供自定義解決方案。 這對於在部署過程中管理風險很有價值,類似於“金絲雀釋放”方法,其中較小的用戶在更廣泛的推出之前測試了新功能。
我們建議在簡化的開發環境中使用宅基地改進。 LARAPREP(兼容Linux)也可以簡化設置。 本指南重點介紹Laravel 5.4。
>
>命名 - 命名 - 命名夾和文件夾組織:使用PSR-4自動加載為您的軟件包創建單獨的命名空間,與您的項目代碼不同。 例如,將其添加到您的composer.json
>:
<code class="language-json">"psr-4": { "App\": "app/", "YourVendor\YourPackage\": "YourPackage/src" }</code>
軟件包骨架:>利用phpleague骨骼軟件包進行健壯的樣板,包括CHANGELOG.md
,CONTRIBUTING.md
,以及用於檢查器,styleci和travisci的基本文件和配置文件。 記住要編寫全面的測試 - 努力在徹底和避免過度之間取得平衡。
從實現中抽象您的域邏輯。 使用Laravel的服務容器將界面綁定到混凝土類,促進鬆散的耦合和靈活性。 定義明確的接口,例如
>,可以輕鬆地交換實現。
FeatureRepositoryInterface
>配置和自定義
包括一個配置文件(例如
),以允許開發人員自定義軟件包。 使用您的服務提供商發布此配置文件並合併配置設置。
config/features.php
>刀片指令和控制台命令
>創建刀片指令(例如,@feature
和@endfeature
),以便於您的視圖中集成。 開發控制台命令(在服務提供商中使用registerConsoleCommand
方法)來自動化任務,例如功能指令的掃描視圖。
>可增強可用性的外牆
>創建一個立面(例如,YourVendorYourPackageFacadesFeature
),以簡化對軟件包功能的訪問。 這為開發人員提供了一個更乾淨,更直觀的界面。
>最佳實踐和結論
composer.json
中的依賴項小心
常見問題(常見問題解答)
>本節的簡潔性省略了,因為所提供的常見問題解答是重複的,並且在主文章的內容中很大程度上涵蓋。
以上是我的Laravel包裝構建工作流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!