Bilakah laravel akan meletakkan apa yang saya tulis ke dalam pembekal perkhidmatan?
黄舟
黄舟 2017-05-16 16:47:48
0
3
396

Sebagai contoh, saya mencipta Perkhidmatan direktori baharu di bawah direktori APP, dan meletakkan perkhidmatan untuk menghantar e-mel, EmailService.php, di dalamnya Apabila saya ingin memanggilnya dalam pengawal lain, saya boleh terus memetik:

use App\Services\EmailService;

Dengan cara ini anda boleh menggunakannya seperti biasa.

Maka persoalannya ialah:
1 Jika ia boleh digunakan seperti di atas, dalam keadaan apakah perkhidmatan ini harus diletakkan dalam pembekal perkhidmatan? 服务放到服务提供者里面去?
2、服务提供者服务容器之间的关系一直搞不太清楚,究竟服务是放到服务容器里面还是服务提供者里面?服务提供者服务容器2. Hubungan antara pembekal perkhidmatan dan bekas perkhidmatan tidak pernah jelas Adakah service diletakkan dalam bekas perkhidmatan Di dalam atau Pembekal Perkhidmatan? Apakah tanggungjawab masing-masing Pembekal Perkhidmatan dan Bekas Perkhidmatan?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(3)
習慣沉默

dalam服务提供者服务放进服务容器.

Satu lagi pengenalan kepada bekas suntikan kebergantungan: Belajar Berhenti Pendawaian dan Sayangi Bekas Laravel

洪涛

Penyoal akan bertanya soalan ini Saya rasa penyoal masih tidak tahu banyak tentang suntikan ketergantungan dan bekas perkhidmatan laravel. (Sudah tentu, saya tidak memahaminya dengan baik. Berikut adalah pemahaman mudah saya)

Jika anda menentukan secara langsung kelas di bawah ruang nama tertentu di dalam pengawal anda (kelas ini mestilah pelaksanaan antara muka (kontrak)), maka kelas ini akan digabungkan dengan pengawal. Apabila anda ingin mengubah suai kelas pelaksanaan ini, anda perlu mengubah suai pengawal dan kaedah yang dipanggil dalam pengawal.

Jika anda menulisnya dalam pembekal perkhidmatan, pertama, ia boleh dipisahkan (parameter kaedah pengawal disuntik ke dalam kelas pelaksanaan perkhidmatan melalui petunjuk jenis), dan kedua, jika perkhidmatan itu juga bergantung pada perkhidmatan lain, perkhidmatan laravel bekas mengendalikan kebergantungan ini secara automatik. Daripada menggunakan sekumpulan sintaks penggunaan di hadapan pengawal untuk mengimport sendiri perpustakaan bergantung ini. Ketiga, antara muka mengehadkan perkhidmatan untuk hanya menyediakan kaedah yang sepatutnya disediakan (tanggungjawab tunggal).

Pemahaman asas, sila tunjuk di ruangan komen jika ada kesilapan.

我想大声告诉你

Bekas perkhidmatan dan pembekal perkhidmatan adalah dua perkara yang berbeza, tanpa sebarang perhubungan wajib, jadi saya akan membincangkannya secara berasingan di bawah.

Bekas perkhidmatan:
ialah pembolehubah tatasusunan bersekutu global, yang menyimpan benda di dalamnya, dan kemudian objek itu boleh diambil mengikut nama di mana-mana sahaja.

Pembekal perkhidmatan:
Dalam setiap pembekal perkhidmatan, terdapat sekeping kod permulaan yang akan digunakan oleh keseluruhan program, seperti

Muat definisi laluan apabila aplikasi dimulakan
Daftar jenis pemerhati tertentu
Sambung ke pangkalan data dan simpan contoh db dalam bekas perkhidmatan

Kita dapat lihat daripada contoh di atas bahawa kita sentiasa perlu menulis kod permulaan ini. Cuma Laravel mentakrifkannya sebagai spesifikasi, memaksa anda untuk mengklasifikasikan dan menyimpan kod permulaan. (Anda masih boleh meletakkan pelbagai jenis kod permulaan kesemuanya dalam app/Providers/AppServiceProvider.php)

Tolong betulkan saya.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan