cari

Rumah  >  Soal Jawab  >  teks badan

Bilakah laravel akan meletakkan apa yang saya tulis ke dalam pembekal perkhidmatan?

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?

黄舟黄舟2842 hari yang lalu407

membalas semua(3)saya akan balas

  • 習慣沉默

    習慣沉默2017-05-16 16:49:48

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

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

    balas
    0
  • PHP中文网

    PHP中文网2017-05-16 16:49:48

    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.

    balas
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 16:49:48

    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.

    balas
    0
  • Batalbalas