W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
Extension 作為 Notadd Framework 的一個特性存在,允許通過 Extension 的方式對 Notadd Framework 進行功能或模板的擴展。 Extension 的機制類似于 Laravel 中 Service Provider 的機制,提供了一種實現組件化的機制,并可以實現傳統(tǒng)插件機制中的安裝、卸載以及插件啟動過程。
一個完整的 Notadd Extension ,必然是遵循 Composer 相關規(guī)范的 Package。
插件位于目錄 extensions 下,插件目錄結構如下
vendor | 廠商目錄 |
---|---|
-extension | 插件目錄 |
--configuations | 可加載配置文件目錄 |
--resources | 資源目錄 |
---translations | 翻譯文件目錄 |
---views | 視圖目錄 |
--src | 源碼目錄 |
---Extension | 擴展服務提供者定義文件 |
--composer.json | Composer 配置文件 |
Extension 的機制類似于 Laravel 中 Service Provider 的機制,提供了一種實現組件化的機制,并可以實現傳統(tǒng)插件機制中的安裝、卸載以及插件啟動過程。
一個完整的 Notadd Extension ,必然是遵循 Composer 相關規(guī)范的 Package。
插件位于目錄 extensions 下,插件目錄結構如下
vendor | 廠商目錄 |
---|---|
-extension | 插件目錄 |
--configuations | 可加載配置文件目錄 |
--resources | 資源目錄 |
---translations | 翻譯文件目錄 |
---views | 視圖目錄 |
--src | 源碼目錄 |
---bootstrap.php | 插件啟動腳本 |
--composer.json | Composer 配置文件 |
通過對 Composer 的自定義,可以實現 Composer 自動加載 Extension 定義的依賴項。
配置 type 屬性為 notadd-extension
。
添加 notadd/installers
的 Package,才能實現 Composer 自動加載 Extension 定義的依賴項。
{
"name": "notadd/extension-demo",
"description": "Notadd's Demo Extension.",
"type": "notadd-extension",
"keywords": ["notadd", "demo", "extension"],
"homepage": "https://notadd.com",
"license": "Apache-2.0",
"authors": [
{
"name": "twilroad",
"email": "heshudong@ibenchu.com"
}
],
"autoload": {
"psr-4": {
"Notadd\\Demo\\": "src/"
}
},
"require": {
"php": ">=7.0",
"notadd/installers": "0.5.*"
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: