Notadd 是朝著可擴展功能和可擴展組件的方向發(fā)展的,但是這和傳統(tǒng)的 Laravel 支持的擴展方式有所區(qū)別。
傳統(tǒng)的 Laravel 的擴展方式
- 獨立的 routes.php 實現(xiàn)路由的增加和修改
- 構(gòu)建一個 service package ,通過 Service Provider的方式進行功能擴展和 IOC 容器實例注入
從以上兩種方式可以看出,Laravel 具備很強的自擴展能力,但是也存在以下幾個弊端:
- 必須修改默認代碼,包括 routes 相關(guān)配置文件和 configuration 相關(guān)配置文件
- 無法徹底修改 Laravel 的功能實現(xiàn)
Notadd 推薦的擴展方式
以獨立的 package 形式存在的 Laravel 擴展包,傳承了 composer 包管理的思想,但是沒有針對可插拔做出實現(xiàn),而 Notadd 的存在,正式為了解決這個問題。
- 遵循 composer 包管理規(guī)范的 package
- 不需要對源代碼做出過多的修改,即可達到 package 的加載
- Module 和 Extension 兩個級別的功能擴展級別
更多建議: