Buat pembekal perkhidmatan anda sendiri dalam larave5 Apabila berjalan, mesej ralat muncul: Sasaran [AppIServicesTestServiceInterface] tidak boleh dibuat seketika. Struktur kod adalah seperti berikut, sila bantu analisa sebabnya:
Saya mencipta direktori bernama: IServices dalam direktori apl untuk menyimpan antara muka berkaitan perkhidmatan saya. Pelaksanaan diletakkan dalam direktori Perkhidmatan.
Kemudian pembekal perkhidmatan diletakkan dalam direktori Pembekal.
Selepas melengkapkan langkah di atas, daftarkan pembekal perkhidmatan dalam app.php.
Kemudian suntikkannya melalui pembina dalam HomeController, bergantung pada antara muka:
Semasa pelaksanaan, ralat yang tidak boleh dibuat seketika telah dilaporkan.
Saya tidak faham, mengapa ia tidak boleh dibuat seketika? Saya telah pun melaksanakan antara muka ini. Dan juga berdaftar? Pautan kunci mana yang salah? Atau terlepas? Saya harap seseorang boleh memberi saya nasihat, terima kasih!
Siarkan jejak pepijat dan pembekal perkhidmatan anda dan lihat jika tidak, tidak kira betapa hebatnya anda, anda tidak akan dapat meneka di mana silap anda. Intuisi memberitahu saya bahawa anda mungkin tidak menambah penyedia anda sendiri dalam app.php
Tulisan itu betul, tetapi anda perlu memberitahu ioc apakah pelaksanaan antara muka yang anda ikat, dalam l4 ia
bind
方法, l5还没细看,应该也有这个方法吧。否则 laravel 就不知道该注入什么,自然光一个接口是无法实例化的了。应该找一个地方写上类似
App::bind('TestServiceInterface', 'TestService')
Saja nak tanya sikit
Bolehkah antara muka dibuat instantiated?
Saya tidak tahu mengapa saya lulus semula komposer untuk projek. Saya hanya menulisnya sekali dan ia baik. Mungkin ada yang berubah dalam projek saya sebelum ini semasa proses pembelajaran. Saya tidak mengetahui dengan tepat di mana ralatnya. Maaf
Abang tertanya-tanya~, adakah masalah ini telah selesai? Dah nak rebah
Setelah mencari sendiri jawapannya, ternyata komposer melakukan sesuatu yang pelik. Nampaknya kita perlu memahami coposer.json