Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Laravel 5.x » Получение различных реализаций интерфейса » 28.07.2016 11:11:55

J1upuk
Ответов: 1

Проблема следующая: У меня есть один общий интерфейс и несколько его реализаций, в сервис-провайдере я могу привязать к интерфейсу только одну конкретную его реализация ($this->app->bind('InterfaceName', 'ClassName');), но в разных экшенах мне нужно получать разные реализации этого базового интерфейса, как мне поступить?

#2 Re: Laravel 5.x » Аутентификация из коробки » 27.07.2016 20:06:32

hzone пишет:

аутентификация, - это не конечный продукт. задумка на развитие функционала.

В том то и дело, каким образом можно вменяемо расширять функционал? Переопределять методы трейтов? Это же бред!
Зачем тогда в Laravel существует сервис контейнер? К тому же так нарушается SOLID принцип open-closed. Почему нет базового интерфейса, который бы реализовал класс стандартной аутентификации? И при желании мы бы реализовывали его как угодно (допустим класс SocialAutentication, который реализовывал бы AutenticationInterface), я это вижу так. В чём я не прав?

#3 Re: Laravel 5.x » Аутентификация из коробки » 27.07.2016 13:02:32

Ну не знаю, по-этому и спрашиваю. Там прямо в контроллере юзаются трейты, юзер создаётся тоже в контроллере, как и валидируются данные.

#5 Laravel 5.x » Аутентификация из коробки » 27.07.2016 09:59:10

J1upuk
Ответов: 7

Объясните, почему логика стандартной аутентификации в laravel описана в контроллере? Почему не используется сервис? И правильно ли использовать дефолтную аутентификацию, или лучше описать свою, либо есть популярные пакеты? Как поступаете вы?

#7 Laravel 5.x » Обращение к модели, как правильно? » 27.05.2016 08:16:14

J1upuk
Ответов: 2

На сколько я успел понять, обратиться (получить экземпляр) модели можно несколькими способами:

1. Через фасад Illuminate\Support\Facades\DB: $model = Illuminate\Support\Facades\DB::table('table_name');
2. Просто создать эксемпляр модели: $model =  new ModelName();
3. Переопределить метод __construct() контроллера, и передать в него экземпляр модели: public function __construct(Model $model) { $this->model = $model; }
4. Через статические методы модели, наприме Model::find()...

Какой способ правильный, чего придерживаетесь вы?

Подвал раздела