Отличатся они будут только возвращаемым набором конфигов. Да, тогда в метод который возвращает конфиги можно передавать параметр, исходя из которого будут возвращаться нужные конфиги.
На самом деле не уверен (: Ситуация заключается в конфигах. Подразумевается, что будет 2 класса -они будут одинаковые но с разными настройками. И на деве, мне нужно подтянуть пакет с настройками для дева, ну и на продакшн наоборот.
Спасибо за ответ!
Исходя из того что я построил, пока не могу понять, как решается проблема.
interface BarInterface
{
public function doSomething();
}
class MyBusinessLogic
{
public function doLogic(BarInterface $barInterface)
{
// logic
}
}
class MyModel extends Model implements BarInterface
{
private $myBusinnessLogic;
public function __construct(MyBusinessLogic $myBusinnessLogic)
{
$this->myBusinnessLogic = $myBusinnessLogic;
}
public function doSomething()
{
$customer = Customer::find()->where('age>30')->all();
// что бы в метод передать $customer, получается и в моделе active record Customer нужно
// реализовать интерфейс?
$this->myBusinnessLogic->doLogic($customer);
}
}
В модель MyModel (это не active record), посредством DI инжектится класс бизнесс логики.
В моделе active record Customer, думаю будет лишним реализовывать интерфейс.
Скорее я неправильно понимаю весь workflow, если Вам не трудно приведите небольшой пример.
Спасибо за ответ. Меня немного смущало то, что Model, выступает и в качестве DTO и для хранения бизнес логики.
Получается если у меня есть небольшая форма, создаётся две модели, одна для связи с таблицой, другая для хранения логики (назовём её UserForm). Когда приходят данные с клиента, они мапятся на мою модель UserForm, а в контроллере вызываю нужные методы из UserForm, в которых происходит какая то логика и что нужно отдаю на вьюху. Правильно ли я понимаю workflow?
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.