希望每個(gè)應(yīng)用,有自己的config,包括路由,數(shù)據(jù)庫,中間件等等。參考thinkphp。這樣對于協(xié)同工作更方便。
應(yīng)該不會(huì)增加。每個(gè)應(yīng)用獨(dú)立配置需要重寫大部分組件才能實(shí)現(xiàn),比如在user應(yīng)用中使用user對應(yīng)的數(shù)據(jù)庫配置,那么所有的數(shù)據(jù)庫組件包括tp、laravel等都能自動(dòng)識別當(dāng)前應(yīng)用,需要重新二次封裝。同理redis、cache、mongodb、隊(duì)列等很多組件也都需要二次封裝下,這會(huì)導(dǎo)致耦合很大,開發(fā)工作量很大,而且可能無法照顧到所有組件。
而動(dòng)態(tài)變更配置這個(gè)需求本身是比較常見的 比如需要從后臺(tái)設(shè)置配置 ,程序需要從數(shù)據(jù)庫拉取配置、比如多機(jī)器部署 共享一個(gè)配置中心 配置來源于配置中心
動(dòng)態(tài)配置需要讀數(shù)據(jù)庫或者redis等存儲(chǔ),項(xiàng)目自己封裝一個(gè)函數(shù)(比如叫conf())就好了。
config()函數(shù)不知道你的動(dòng)態(tài)配置存儲(chǔ)在哪里,也不知道讀哪個(gè)表哪個(gè)庫,不好做動(dòng)態(tài)配置
config::set() 只對當(dāng)前進(jìn)程有效,無法對所有服務(wù)器所有進(jìn)程生效,沒有意義。
自己實(shí)現(xiàn)conf,conf里自己決定從哪個(gè)存儲(chǔ)讀寫配置,配置變更,所有服務(wù)器生效,不存在服務(wù)器多了操作不過來。