Rumah >rangka kerja php >Laravel >apakah itu penyedia perkhidmatan laravel
Laravel ialah rangka kerja PHP sumber terbuka yang menyediakan sintaks yang ringkas dan elegan, serta banyak fungsi berguna dan pelbagai. Apabila membangunkan aplikasi dengan Laravel, kita selalunya perlu melakukan banyak konfigurasi dan penyediaan perkhidmatan. Penyediaan konfigurasi dan perkhidmatan ini boleh diuruskan melalui pembekal perkhidmatan dalam Laravel.
Dalam Laravel, pembekal perkhidmatan ialah alat penting untuk mengatur aplikasi perusahaan. Ia boleh membantu kami mengurus tugas dengan berkesan seperti konfigurasi dan suntikan kebergantungan aplikasi Laravel. Tetapi bagi kebanyakan pemula Laravel, konsep penyedia perkhidmatan masih agak asing, jadi artikel ini akan memperkenalkan penyedia perkhidmatan dalam Laravel secara terperinci dan menyelidiki cara mereka berfungsi.
Pembekal perkhidmatan Laravel ialah alat untuk mendaftar, menyelenggara dan menyuntik perkhidmatan. Ia menyediakan kaedah konfigurasi yang fleksibel untuk aplikasi Laravel dan membantu kami mengelakkan bahaya mengubah suai terus kod teras rangka kerja. Dalam Laravel, pembekal perkhidmatan adalah bahagian penting dalam mengikat komponen ke dalam bekas. Tanggungjawabnya ialah untuk mengekalkan pelbagai contoh kelas, antara muka dan kebergantungan aplikasi serta mengurus kitaran hayatnya.
Ringkasnya, pembekal perkhidmatan ialah kelas yang menyediakan perkhidmatan kepada aplikasi. Perkhidmatan ini boleh terdiri daripada sambungan pangkalan data ke perpustakaan pihak ketiga, kepada perkhidmatan tersuai seperti perkhidmatan e-mel, perkhidmatan pembayaran, dsb.
Dalam Laravel, pembekal perkhidmatan boleh dibahagikan kepada tiga jenis berbeza:
Pembekal Perkhidmatan Aplikasi ialah pembekal perkhidmatan utama untuk aplikasi Laravel. Ia digunakan untuk mendaftarkan pelbagai perkhidmatan apabila aplikasi dimulakan. Jika aplikasi anda menggunakan banyak perpustakaan pihak ketiga, satu siri pembekal perkhidmatan akan didaftarkan untuk digunakan apabila aplikasi dimulakan.
Dalam aplikasi Laravel, setiap penyedia perkhidmatan aplikasi perlu mewarisi kelas IlluminateSupportServiceProvider. Selain itu, setiap pembekal perkhidmatan aplikasi mesti melaksanakan kaedah register() dan kaedah boot().
Dalam kaedah daftar(), penyedia perkhidmatan aplikasi biasanya digunakan terutamanya untuk mendaftarkan perkhidmatan tertentu ke dalam bekas Laravel. Dalam kaedah boot(), penyedia perkhidmatan aplikasi biasanya bootstrap aplikasi menggunakan mana-mana perkhidmatan berdaftar.
Pembekal Perkhidmatan Pakej ialah komponen boleh guna semula dalam Laravel. Mereka seperti penyedia perkhidmatan aplikasi, tetapi dengan beberapa kebolehgunaan semula dan kemudahan tambahan. Jika anda menulis pakej dan ingin menerbitkannya sebagai pakej komposer, gunakan pembekal perkhidmatan pakej.
Dalam struktur fail lalai Laravel, setiap pembekal perkhidmatan pakej hendaklah diletakkan di bawah folder src/ dan dinamakan ServiceProvider.php. Begitu juga, setiap pembekal perkhidmatan pakej mesti melaksanakan kaedah register() dan kaedah boot().
Pembekal Perkhidmatan Perisian Tengah ialah kaedah pendaftaran perisian tengah yang mudah disediakan oleh Laravel. Pembekal perkhidmatan middleware boleh mendaftarkan semua middleware melalui definisi kelas yang mudah tanpa perlu mendaftarkan setiap middleware di tengah-tengah penyedia perkhidmatan aplikasi atau pakej.
Penyedia perkhidmatan middleware mewarisi daripada IlluminateFoundationSupportProvidersMiddlewareServiceProvider, yang pada asasnya merupakan penyedia perkhidmatan Laravel mudah yang melanjutkan kaedah daftar. Seperti pembekal perkhidmatan lain, pembekal perkhidmatan middleware juga boleh menggunakan atribut routeMiddleware untuk mendaftar middleware dan boleh menentukan alias untuk middleware melalui kaedah $this->app['router']->aliasMiddleware().
Pembekal perkhidmatan Laravel dimulakan apabila rangka kerja bermula dan ia mendaftarkan semua perkhidmatan dalam bekas. Sebarang percubaan oleh aplikasi untuk mengakses perkhidmatan ini akan gagal sehingga pembekal perkhidmatan didaftarkan.
Apabila rangka kerja bermula, Laravel akan memuatkan semua kelas pembekal perkhidmatan secara automatik dan mendaftarkan perkhidmatan yang sepadan dalam bekas. Bekas Laravel ialah bekas suntikan kebergantungan yang berkuasa yang bertanggungjawab untuk membuat seketika kelas, mengurus kebergantungan antara kelas dan menghuraikan serta menyuntik kebergantungan kelas secara automatik.
Apabila kelas memerlukan kebergantungan, bekas akan secara automatik menyuntik kebergantungan yang diminta. Sebagai contoh, jika anda memerlukan contoh kelas Mailer, bekas itu mencari semua pembekal perkhidmatan yang berdaftar dengan bekas untuk mencari kelas dan membuat seketika. Jika kelas Mailer memerlukan kebergantungan lain, bekas itu juga akan menyelesaikan kebergantungan ini secara automatik sehingga kelas diwujudkan sepenuhnya.
Dalam kaedah daftar(), pembekal perkhidmatan perlu mendaftarkan perkhidmatan ke dalam bekas. Perkhidmatan boleh menjadi apa sahaja daripada sambungan pangkalan data ke kelas tersuai dengan logik tersuai.
Dengan pembekal perkhidmatan, bekas Laravel boleh menyelesaikan secara automatik dan menyuntik kebergantungan yang diperlukan semasa mendaftarkan perkhidmatan ini. Kebergantungan ini boleh menjadi perkhidmatan lain, kelas, antara muka, dsb. Sebaik sahaja penyedia perkhidmatan dalam aplikasi telah melengkapkan pendaftaran mereka, pelbagai kelas yang bertaburan di seluruh aplikasi boleh bergantung pada perkhidmatan ini untuk mencapai aplikasi yang digabungkan dengan lebih longgar.
Pembekal perkhidmatan Laravel ialah alatan utama untuk menguasai komponen aplikasi Laravel. Ia mengurus kejadian kelas, antara muka dan kebergantungan dalam aplikasi dan membantu kami menguruskan tugas dengan berkesan seperti konfigurasi dan suntikan kebergantungan aplikasi Laravel. Kami boleh menggunakan tiga jenis pembekal perkhidmatan yang berbeza untuk mengurus perkhidmatan: penyedia perkhidmatan aplikasi, penyedia perkhidmatan pakej dan penyedia perkhidmatan middleware.
Walaupun mungkin mengambil sedikit masa untuk pemula memahami cara penyedia perkhidmatan berfungsi, sebaik sahaja anda mempunyai pengetahuan ini, ia akan membantu anda memudahkan pengurusan dan penyelenggaraan aplikasi Laravel anda dengan sangat baik.
Atas ialah kandungan terperinci apakah itu penyedia perkhidmatan laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!