契約
契約是對laravel服務(組件)的一種規則,約束
具體是怎麼約束的呢?
在 vendor/laravel/framework/src/Illuminate/Contracts 目錄下,有對應服務的文件夾,裏面是一組接口文件
接口文件中定義了對應的服務需要什麼方法,傳入什麼樣的參數
在服務類提供服務的時候,要實現這些接口
爲什麼要用接口當做契約,而不是用抽象類呢?
契約(規則,約束)可能會越來多,而類只能繼承一個抽象類,但是能實現多個接口,所以接口比較適合
契約是對laravel服務(組件)的一種規則,約束
具體是怎麼約束的呢?
在 vendor/laravel/framework/src/Illuminate/Contracts 目錄下,有對應服務的文件夾,裏面是一組接口文件
接口文件中定義了對應的服務需要什麼方法,傳入什麼樣的參數
在服務類提供服務的時候,要實現這些接口
爲什麼要用接口當做契約,而不是用抽象類呢?
契約(規則,約束)可能會越來多,而類只能繼承一個抽象類,但是能實現多個接口,所以接口比較適合