Rumah >rangka kerja php >Laravel >Apakah kegunaan kontrak laravel

Apakah kegunaan kontrak laravel

WBOY
WBOYasal
2022-02-24 15:06:152458semak imbas

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.

Apakah kegunaan kontrak laravel

Persekitaran pengendalian artikel ini: sistem Windows 10, Laravel versi 6, komputer Dell G3.

Apakah kegunaan kontrak laravel

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn