Rumah rangka kerja php Laravel Cara menggunakan bekas laravel

Cara menggunakan bekas laravel

May 26, 2023 pm 12:36 PM

Laravel ialah rangka kerja PHP yang sangat popular yang menyediakan banyak ciri mudah, salah satunya ialah bekas. Bekas Laravel ialah sistem suntikan kebergantungan yang membolehkan kami mengurus kejadian objek dengan mudah dalam aplikasi kami. Dalam artikel ini, kita akan belajar tentang bekas Laravel dan cara menggunakannya.

  1. Apakah itu bekas Laravel

Bekas Laravel ialah bekas IoC, iaitu bekas suntikan kebergantungan. Ia adalah pendaftaran yang membolehkan pengurusan mudah objek dalam aplikasi. Objek ini boleh menjadi apa sahaja termasuk perkhidmatan, perisian tengah, pengawal, model, dll.

Menggunakan bekas Laravel mempunyai dua faedah utama:

  • Kod mudah diurus
  • Mudah untuk diuji
  1. Cara untuk Menggunakan Bekas Laravel

Bekas Laravel boleh digunakan dengan mudah dalam aplikasi. Pertama, kita perlu memahami salah satu konsep teras bekas - mengikat.

Pengikatan

Pengikatan ialah proses mengikat kelas atau antara muka ke dalam bekas. Apabila kita memerlukan contoh terikat, bekas menyediakannya. Dalam Laravel, pengikatan dilakukan menggunakan kaedah bind/bindShared. Kaedah bind mengikat contoh, manakala kaedah bindShared mengikat satu.

Sebagai contoh, kami ingin mengikat kelas operasi pangkalan data. Kita boleh mengikatnya ke dalam bekas menggunakan kod berikut dalam Laravel:

App::bind('db', function()
{
    return new Database;
});
Salin selepas log masuk

Ini akan mengikat kelas yang dipanggil "db" dan apabila kita memanggil "db" bekas itu akan mengembalikan sambungan baharu.

Dependency Injection

Dependency Injection adalah salah satu fungsi utama bekas Laravel. Ia merujuk kepada menghantar kebergantungan kepada objek dan bukannya menghidupkannya di dalam objek.

Sebagai contoh, kami mempunyai pengawal yang memerlukan objek pangkalan data sebagai parameter. Kami boleh menggunakan suntikan kebergantungan untuk menghantarnya kepada pengawal:

class UserController extends Controller {

    protected $db;

    public function __construct(Database $db)
    {
        $this->db = $db;
    }

    public function index()
    {
        $users = $this->db->table('users')->get();
        return view('users.index', compact('users'));
    }

}
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami menggunakan suntikan kebergantungan untuk menghantar objek pangkalan data instantiated kepada pengawal. Operasi ini dilakukan secara automatik oleh bekas Laravel.

Dalam Laravel, anda boleh menggunakan dua kaedah untuk suntikan kebergantungan. Satu suntikan konstruktor dan satu lagi suntikan kaedah. Contoh kod di atas menggunakan suntikan pembina.

Suntikan kaedah

Suntikan kaedah ialah satu lagi cara suntikan kebergantungan. Ia boleh menyuntik contoh kelas dalam kaedah seperti yang diperlukan.

Sebagai contoh, kami mempunyai kelas yang mengendalikan pengguna, yang mempunyai kaedah getUser, yang memerlukan contoh kelas Auth. Kita boleh menyuntik contoh ini dalam parameter kaedah:

class UserService {

    public function getUser(Auth $auth)
    {
        return $auth->user();
    }

}
Salin selepas log masuk

Dalam contoh ini, apabila kita memanggil kaedah getUser, bekas Laravel akan secara automatik menyuntik tika kelas Auth.

  1. Senario aplikasi kontena Laravel

Bekas Laravel boleh digunakan dalam banyak senario. Berikut ialah beberapa senario biasa:

  • Pembekal perkhidmatan

Pembekal perkhidmatan ialah salah satu konsep yang biasa digunakan dalam bekas Laravel. Ia adalah kelas yang menyediakan perkhidmatan kepada aplikasi. Contohnya, dalam Laravel, kami boleh mendaftarkan pembekal perkhidmatan menggunakan kod berikut:

class AppServiceProvider extends ServiceProvider {

    public function boot()
    {
        //
    }

    public function register()
    {
        $this->app->bind('db', function()
        {
            return new Database;
        });
    }

}
Salin selepas log masuk

Dalam kod di atas, kami mengikat perkhidmatan bernama "db" yang akan mengembalikan sambungan pangkalan data baharu.

  • Middleware

Middleware ialah kelas yang dipanggil semasa proses pemprosesan permintaan Laravel. Dalam perisian tengah, kami boleh mengubah suai atau meningkatkan permintaan dan respons HTTP. Kami boleh menggunakan bekas Laravel untuk menyuntik perisian tengah ke dalam aplikasi:

class ExampleMiddleware {

    public function handle($request, Closure $next)
    {
        // 处理请求
        $response = $next($request);

        // 处理响应
        return $response;
    }

}
Salin selepas log masuk

Dalam kod di atas, kami telah menentukan perisian tengah yang dipanggil ExampleMiddleware yang akan mengendalikan permintaan dan respons HTTP.

  • Pengawal

Pengawal Laravel ialah kelas yang digunakan untuk mengendalikan permintaan HTTP. Kita boleh menggunakan bekas Laravel untuk menyuntik pengawal ke dalam aplikasi:

class UserController extends Controller {

    protected $db;

    public function __construct(Database $db)
    {
        $this->db = $db;
    }

    public function index()
    {
        $users = $this->db->table('users')->get();
        return view('users.index', compact('users'));
    }

}
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, kami membuat instantiate dan menyuntik kelas pangkalan data ke dalam pengawal UserController.

  1. Ringkasan

Bekas Laravel ialah bekas suntikan kebergantungan yang berkuasa. Ia membolehkan kami mengurus kejadian objek dengan mudah dan menjadikan kod kami lebih mudah untuk diuji dan dilanjutkan. Dalam aplikasi Laravel, kita boleh menggunakan bekas untuk menyelesaikan banyak tugas seperti mendaftarkan penyedia perkhidmatan, perisian tengah dan pengawal. Jika anda ingin mengetahui lebih lanjut tentang bekas Laravel, lihat dokumentasi Laravel rasmi.

Atas ialah kandungan terperinci Cara menggunakan bekas laravel. 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Mana yang lebih baik, Django atau Laravel? Mana yang lebih baik, Django atau Laravel? Mar 28, 2025 am 10:41 AM

Kedua-dua Django dan Laravel adalah kerangka kerja penuh. Django sesuai untuk pemaju python dan logik perniagaan yang kompleks, manakala Laravel sesuai untuk pemaju PHP dan sintaks elegan. 1.Django didasarkan pada python dan mengikuti falsafah "lengkap bateri", sesuai untuk perkembangan pesat dan kesesuaian yang tinggi. 2. Laravel didasarkan pada PHP, menekankan pengalaman pemaju, dan sesuai untuk projek kecil dan sederhana.

Laravel dan backend: Powering Web Application Logic Laravel dan backend: Powering Web Application Logic Apr 11, 2025 am 11:29 AM

Bagaimanakah Laravel memainkan peranan dalam logik backend? Ia memudahkan dan meningkatkan pembangunan backend melalui sistem penghalaan, eloquentorm, pengesahan dan kebenaran, acara dan pendengar, dan pengoptimuman prestasi. 1. Sistem penghalaan membolehkan definisi struktur URL dan logik pemprosesan permintaan. 2.eloquentorm memudahkan interaksi pangkalan data. 3. Sistem pengesahan dan kebenaran adalah mudah untuk pengurusan pengguna. 4. Acara dan pendengar melaksanakan struktur kod yang ditambah dengan longgar. 5. Pengoptimuman prestasi meningkatkan kecekapan aplikasi melalui caching dan beratur.

PHP atau Laravel mana yang lebih baik? PHP atau Laravel mana yang lebih baik? Mar 27, 2025 pm 05:31 PM

PHP dan Laravel tidak dapat dibandingkan secara langsung, kerana Laravel adalah rangka kerja berasaskan PHP. 1.Php sesuai untuk projek kecil atau prototaip cepat kerana ia mudah dan langsung. 2. Laravel sesuai untuk projek besar atau pembangunan yang cekap kerana ia menyediakan fungsi dan alat yang kaya, tetapi mempunyai lengkung pembelajaran yang curam dan mungkin tidak sebaik php tulen.

Contoh Pengenalan Laravel Contoh Pengenalan Laravel Apr 18, 2025 pm 12:45 PM

Laravel adalah rangka kerja PHP untuk membina aplikasi web yang mudah. Ia menyediakan pelbagai ciri yang kuat termasuk: Pemasangan: Pasang Laravel CLI secara global dengan komposer dan buat aplikasi dalam direktori projek. Routing: Tentukan hubungan antara URL dan pengendali dalam laluan/web.php. Lihat: Buat pandangan dalam sumber/pandangan untuk menjadikan antara muka aplikasi. Integrasi Pangkalan Data: Menyediakan integrasi keluar-of-the-box dengan pangkalan data seperti MySQL dan menggunakan penghijrahan untuk membuat dan mengubah suai jadual. Model dan Pengawal: Model mewakili entiti pangkalan data dan proses pengawal permintaan HTTP.

Adakah Laravel adalah frontend atau backend? Adakah Laravel adalah frontend atau backend? Mar 27, 2025 pm 05:31 PM

LaravelisabackendFramWorkBuiltonPHP, Direka ForweBapplicationDevelopment.itfocusesonServer-Sidelogic, DatabaseManagement, andApplications Structure, andCanbeIntegratedWithFrontendTechnologiesLikeVue.jsorreactorfull-stackdevelopment.

Cara Belajar Laravel Cara Belajar Laravel secara percuma Cara Belajar Laravel Cara Belajar Laravel secara percuma Apr 18, 2025 pm 12:51 PM

Mahu mempelajari rangka kerja Laravel, tetapi tidak mengalami sumber atau tekanan ekonomi? Artikel ini memberikan anda pembelajaran percuma Laravel, mengajar anda cara menggunakan sumber seperti platform dalam talian, dokumen dan forum komuniti untuk meletakkan asas yang kukuh untuk perjalanan pembangunan PHP anda dari mula menguasai.

Fleksibiliti Laravel: Dari laman web mudah ke sistem yang kompleks Fleksibiliti Laravel: Dari laman web mudah ke sistem yang kompleks Apr 13, 2025 am 12:13 AM

Projek Pembangunan Laravel telah dipilih kerana fleksibiliti dan kuasa untuk memenuhi keperluan saiz dan kerumitan yang berbeza. Laravel menyediakan sistem penghalaan, eloquentorm, baris perintah artisan dan fungsi lain, menyokong pembangunan dari blog mudah ke sistem peringkat perusahaan yang kompleks.

Fungsi log masuk pengguna laravel Fungsi log masuk pengguna laravel Apr 18, 2025 pm 12:48 PM

Laravel menyediakan rangka kerja auth yang komprehensif untuk melaksanakan fungsi log masuk pengguna, termasuk: Menentukan model pengguna (model fasih), membuat borang log masuk (enjin templat bilah), menulis pengawal log masuk (mewarisi auth \ logincontroller) tajuk keselamatan. Di samping itu, rangka kerja AUTH juga menyediakan fungsi seperti menetapkan semula kata laluan, mendaftar dan mengesahkan e -mel. Untuk maklumat lanjut, sila rujuk dokumentasi Laravel: https://laravel.com/doc

See all articles