1.laravel為什麼受歡迎?
1.1 優雅 功能 組件化。
2. 編程的過程相互之間的差義
混編->mvc->分層設計->服務組件化設計
擴展性差->mvc
controller view model 業務->越來越複雜->數據關聯查詢
弊端:controller 就會變的臃腫 方法越來越大 類也是越來越大 職責也越來越大。
優點:如果再來一個項目項目中工具類,支付方式,日誌處理,基本相同,就可以 ctrl c + v;
2.1分層設計
把處理相同功能的類放到同一個文件夾中,文件夾的名稱就是這層的含義
弊端:代碼多結構也開始慢慢的複雜
優點:簡單明瞭
2.2服務組件化
composer 組件複用性是不是特別高,真正意義上的。
凡是包中含有 composer.json 文件的意味著,這就是composer組件包.
laravel 把框架功能轉化為啦,可拆分的組件->並且這些組件是可以中其他項目中使用。
設計模式運用 => 組件:服務提供者。
3.橫看laravel
3.1服務容器:ioc容器 Container
1.什麼叫做服務?:我需要什麼幫助,別人可以提供這樣的服務。
2.容器->服務容器 (ioc容器)
3.管理項目運行的服務
3.2服務提供者 :組件ServiceProvider
1.註冊一些實例對象到容器裡
2.初似化到組件->讓laravel能夠加載
3.3門面:作用是什麼?
1.Facades 實際上走的是服務容器中底層類的靜態代理 相對傳統的靜態方法在使用的過程中
更加靈活,更加容易測試
3.4契約:
1.作用是什麼?:合同,約束,協議。
2.服務組件化:必然laravel會提供服務->組件是不是會升級,組件升級後怎麼保證一致?
契約給laravel服務提供啦一套標準然後laravel所依賴的組件必須實現,
3. 契約類為什麼是interface 接口 可不可以用抽象類? 特點又是什麼?
interface:必須被實現沒有方法體,只能聲明,不能實例,可以多個接口。
abstract:可以但繼承,能寫方法體。
4.標準制訂不是一個人的事情,要多個人一起制訂。
4.laravel結構
閱讀更多 編程小知識 的文章