Rumah > Artikel > rangka kerja php > Apakah kegunaan kontrak laravel
Dalam laravel, kontrak merujuk kepada satu siri antara muka yang mentakrifkan perkhidmatan teras yang disediakan oleh rangka kerja untuk memudahkan pembangunan pembangun antara muka pihak ketiga Pelaksanaan semua kontrak membentuk semua tugas teras rangka kerja, dan boleh Memahami peranan fungsi tertentu melalui kontrak.
Persekitaran pengendalian artikel ini: sistem Windows 10, Laravel versi 6, komputer Dell G3.
Apa itu kontrak
Kontrak dalam Laravel merujuk kepada siri antara muka yang disediakan oleh rangka kerja yang mentakrifkan perkhidmatan teras, seperti cache , baris gilir, log Antara muka, kontrak ialah antara muka
Mengapa mentakrifkan antara muka
Tujuan menentukan antara muka adalah untuk memisahkan
Apabila kita bergantung pada contoh cache , laravel melaksanakannya seperti berikut:
Sebagai contoh: kami memilih untuk menggunakan pemacu cache memcached
use Illuminate\Contracts\Cache\Repository as Cache; class Repository{ /** * 创建一个新的Repository实例 * * @param Cache $cache * @return void */ public function __construct(Cache $cache) { $this->cache = $cache; } }
tanpa mentakrifkan antara muka
Jika kami tidak mentakrifkan antara muka kita mesti menulis seperti ini
use Memcached; class Repository{ /** * 创建一个新的Repository实例 * * @param Cache $cache * @return void */ public function __construct(Memcached $cache) { $this->cache = $cache; } }
supaya apabila kita perlu menukar Apabila pemacu cache adalah redis, kita mesti pergi ke pengawal dan menukar jenis konvensyen suntikan pergantungan kepada redis, kerana pelaksanaan redis tidak semestinya sama persis dengan Memcached, yang bermaksud bahawa cache Memcached digandingkan rapat dengan laravel
Apa yang dikira sebagai gandingan longgar
Apa yang dikira sebagai gandingan longgar Apabila sistem dinaik taraf dan a pelaksanaan perlu diubah suai (seperti menaik taraf daripada Memcached kepada Redis), asas kod tidak boleh diubah suai, dan hanya Ia dianggap berganding longgar apabila naik taraf boleh diselesaikan dengan mengubah suai konfigurasi!
Satu kontrak mempunyai dua, atau berbilang pelaksanaan
Secara peribadi, sejak kontrak dimuktamadkan, pelaksanaan yang sepadan hendaklah dua, atau lebih pelaksanaan, atau akan ada dalam masa terdekat Terdapat dua atau lebih banyak pelaksanaan, dan kontrak di sini untuk menetapkan begitu banyak pelaksanaan. Kalau hanya satu perlaksanaan, rasanya kontrak itu tidak berguna!
Ringkasan
Kontrak definisi ialah perjanjian untuk pelaksanaan satu set fungsi untuk memudahkan pembangunan pembangun antara muka pihak ketiga
kontrak lebih seperti indeks direktori A bagi rangka kerja Pelaksanaan semua kontrak membentuk semua perkhidmatan teras rangka kerja dan anda boleh memahami dengan cepat apa yang dilakukan oleh set fungsi ini melalui kontrak
Untuk kelas cache, kontrak cache adalah untuk menetapkan Fungsi yang perlu dilaksanakan untuk pelbagai pelaksanaan cache (Memcached, Redis, caching fail)
[Cadangan berkaitan: tutorial video laravel]
Atas ialah kandungan terperinci Apakah kegunaan kontrak laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!