Я работаю с laravel 5, и я начинающий разработчик, поэтому я только что научился использовать шаблон репозитория. Теперь, как новички идут, я сначала использовать routes.php файл, чтобы связать мой UserRepositoryInterface
к DbUserRepository
так:Какой провайдер я использую для привязки репозиториев базы данных в laravel 5?
App::bind('UserRepositoryInterface', 'DbUserRepository');
Это просто псевдо, изображение в namepspaces с кодом выше тоже.
Итак, после этого я понял, что есть что-то, называемое провайдером услуг, который должен содержать такой код. Теперь я реорганизовал это в AppServiceProvider
в моей папке Providers
, и он отлично работает.
Но так как у меня будет гораздо больше репозиториев, это хорошая идея разместить их в AppServiceProvider
или я должен пойти и сделать выделенного провайдера для своих хранилищ и связать их там? Каков наилучший способ сделать это? Есть ли стандарт для этого?
Я думаю, что это будет вниз личные предпочтения и масштаб вашего приложения. Я делаю это так, как вы описали, и разбил мой «AppServiceProvider» на логические методы. Поэтому я привязываю все эти типы привязок к методу 'registerInterfaces()', а затем вызываю его из метода 'register' в моем' AppServiceProvider'. –
Я только что пошел и создал 'RepositoryServiceProvider'. И я думаю, вы правы, это нечто, что сводится к моим личным предпочтениям, а не к стандарту. – Rohan