Rumah rangka kerja php ThinkPHP Panduan Penggunaan Bekas ThinkPHP6: Amalan Suntikan Ketergantungan

Panduan Penggunaan Bekas ThinkPHP6: Amalan Suntikan Ketergantungan

Aug 27, 2023 am 08:00 AM
thinkphp suntikan pergantungan bekas

Panduan Penggunaan Bekas ThinkPHP6: Amalan Suntikan Ketergantungan

Panduan Penggunaan Kontena ThinkPHP6: Amalan Suntikan Ketergantungan

Pengenalan:
Dalam pembangunan PHP moden, menggunakan bekas untuk melaksanakan suntikan kebergantungan adalah cara teknikal yang biasa. Dalam versi terkini rangka kerja ThinkPHP, ThinkPHP6, komponen kontena juga disepadukan untuk memudahkan pembangun mengamalkan suntikan pergantungan. Artikel ini akan memperkenalkan secara terperinci cara menggunakan bekas dengan betul dalam ThinkPHP6 dan menggunakan kod sampel untuk membantu pembaca memahami dengan lebih baik.

1. Apakah itu bekas?
Bekas ialah objek yang bertanggungjawab untuk menguruskan suntikan instantiasi dan pergantungan kelas. Ia secara automatik menyuntik kebergantungan antara objek dengan menghuraikan dan menjana contoh objek.

Dalam ThinkPHP6, komponen kontena dilaksanakan melalui komponen suntikan kebergantungan Symfony. Ia menyediakan pembangun dengan cara ringkas dan pantas untuk melaksanakan instantiasi kelas dan suntikan pergantungan.

2. Cara menggunakan bekas

  1. Mengkonfigurasi bekas
    Dalam ThinkPHP6, fail konfigurasi kontena terletak dalam fail provider.php dalam direktori konfigurasi. Kita boleh mentakrifkan cara kelas dibuat instantiated dan kebergantungannya dalam fail ini.

Sebagai contoh, kita perlu mengkonfigurasi kelas bernama "demo", yang bergantung pada kelas lain bernama "example", kita boleh mengkonfigurasinya seperti ini:

return [
    'demo'    => [
        ppdemoDemo::class, // 类名
        ['example'], // 依赖的其他类
        true, // 是否为单例
    ],
];
Salin selepas log masuk

Dalam konfigurasi di atas, kami mentakrifkan kelas ppdemoDemo sebagai "demo " bergantung pada "contoh" kelas dan dinyatakan sebagai mod tunggal (benar bermaksud tunggal, palsu bermaksud bukan tunggal).

  1. Segera objek
    Selepas konfigurasi bekas selesai, kita boleh menggunakan bekas untuk membuat instantiate objek yang kita perlukan. Pertama, kita perlu memperkenalkan kelas kontena di mana kita perlu menggunakan kelas:
use thinkContainer;
Salin selepas log masuk

Kemudian, kita boleh menggunakan bekas untuk membuat instantiate objek dengan cara berikut:

$demo = Container::pull('demo');
Salin selepas log masuk

Dalam kod di atas, kita menggunakan Bekas: :pull() kaedah untuk Menghidupkan objek bernama "demo" dan menetapkannya kepada pembolehubah $demo.

  1. Daftar bekas
    Selepas kami melengkapkan konfigurasi dalam pembekal fail konfigurasi kontena.php, kami juga perlu mendaftar kontena semasa proses awal. Kami boleh menambah kod berikut selepas "Define Framework Directory" dalam fail entri projek public/index.php:
require __DIR__ . '/../vendor/autoload.php';

// 注册容器
    hinkContainer::getInstance()->register();
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah Container::getInstance() untuk mendapatkan contoh kontena dan gunakan register( ) kaedah untuk mendaftarkan bekas.

3. Ringkasan
Melalui pengenalan artikel ini, kami telah mempelajari tentang kaedah menggunakan bekas untuk melaksanakan suntikan pergantungan dalam ThinkPHP6. Mula-mula kita perlu mengkonfigurasi bekas dalam pembekal fail konfigurasi.php, dan kemudian membuat instantiat objek melalui kaedah Container::pull(). Akhir sekali, daftarkan bekas dalam fail kemasukan.

Kaedah menggunakan bekas ini boleh membantu pembangun mengurus kebergantungan antara kelas dengan lebih standard dan fleksibel, serta meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod. Saya percaya bahawa melalui kajian artikel ini, pembaca akan mempunyai pemahaman yang lebih mendalam tentang penggunaan bekas ThinkPHP6.

Kod rujukan:

<?php
// 容器配置文件config/provider.php

return [
    'demo'    => [
        ppdemoDemo::class,
        ['example'],
        true,
    ],
];
Salin selepas log masuk
Salin selepas log masuk

Atas ialah kandungan terperinci Panduan Penggunaan Bekas ThinkPHP6: Amalan Suntikan Ketergantungan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menjalankan projek thinkphp Bagaimana untuk menjalankan projek thinkphp Apr 09, 2024 pm 05:33 PM

Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

Terdapat beberapa versi thinkphp Terdapat beberapa versi thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.

Bagaimana untuk menjalankan thinkphp Bagaimana untuk menjalankan thinkphp Apr 09, 2024 pm 05:39 PM

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

AtomHub, pusat pencerminan kontena sumber terbuka yang dicipta bersama oleh Huawei, Inspur dan unit lain, mengumumkan bahawa ia dibuka secara rasmi untuk ujian awam dan boleh memuat turun perkhidmatan domestik secara stabil. AtomHub, pusat pencerminan kontena sumber terbuka yang dicipta bersama oleh Huawei, Inspur dan unit lain, mengumumkan bahawa ia dibuka secara rasmi untuk ujian awam dan boleh memuat turun perkhidmatan domestik secara stabil. Jan 02, 2024 pm 03:54 PM

Berita rasmi Huawei menunjukkan bahawa Persidangan Pembangun Atom Terbuka, dengan tema "Segala-galanya untuk Pembangun", telah diadakan di Wuxi selama dua hari, dari 16 hingga 17 Disember. Persidangan itu diketuai oleh Yayasan Sumber Terbuka Atom Terbuka, Huawei, dan Inspur. , DaoCloud, Xieyun, Qingyun, Hurricane Engine, serta OpenSDV Open Source Alliance, komuniti openEuler, komuniti OpenCloudOS dan unit ahli lain bersama-sama memulakan pembinaan Pusat Cermin Dipercayai AtomHub, yang dibuka secara rasmi untuk ujian awam. AtomHub mematuhi konsep pembinaan bersama, tadbir urus bersama dan perkongsian serta bertujuan untuk menyediakan organisasi sumber terbuka dan pembangun pusat cermin kontena sumber terbuka dipercayai neutral, terbuka dan dibina bersama. Memandangkan ketidakstabilan dan ketidakstabilan gudang imej seperti DockerHub, dan beberapa

Mana yang lebih baik, laravel atau thinkphp? Mana yang lebih baik, laravel atau thinkphp? Apr 09, 2024 pm 03:18 PM

Perbandingan prestasi rangka kerja Laravel dan ThinkPHP: ThinkPHP umumnya berprestasi lebih baik daripada Laravel, memfokuskan pada pengoptimuman dan caching. Laravel berfungsi dengan baik, tetapi untuk aplikasi yang kompleks, ThinkPHP mungkin lebih sesuai.

Bagaimana untuk memasang thinkphp Bagaimana untuk memasang thinkphp Apr 09, 2024 pm 05:42 PM

Langkah pemasangan ThinkPHP: Sediakan persekitaran PHP, Komposer dan MySQL. Buat projek menggunakan Komposer. Pasang rangka kerja dan kebergantungan ThinkPHP. Konfigurasikan sambungan pangkalan data. Hasilkan kod aplikasi. Lancarkan aplikasi dan lawati http://localhost:8000.

Bagaimanakah prestasi thinkphp? Bagaimanakah prestasi thinkphp? Apr 09, 2024 pm 05:24 PM

ThinkPHP ialah rangka kerja PHP berprestasi tinggi dengan kelebihan seperti mekanisme caching, pengoptimuman kod, pemprosesan selari dan pengoptimuman pangkalan data. Ujian prestasi rasmi menunjukkan bahawa ia boleh mengendalikan lebih daripada 10,000 permintaan sesaat, dan digunakan secara meluas dalam tapak web dan sistem perusahaan berskala besar seperti JD.com dan Ctrip dalam aplikasi praktikal.

Di manakah fail laman utama thinkphp? Di manakah fail laman utama thinkphp? Apr 09, 2024 pm 05:54 PM

Fail halaman utama dalam rangka kerja ThinkPHP digunakan untuk menentukan halaman utama tapak web Ia terletak di app/home/controller/IndexController.php dan mengandungi kaedah tindakan bernama indeks, yang bertanggungjawab untuk memproses permintaan halaman utama. Kaedah ini mengandungi logik perniagaan halaman utama dan mengembalikan fail paparan app/home/view/index/index.html.

See all articles