Anton
Потому что уже был реализован паттерн и его переписывать никто не будет
Anton
я давно понял что ты предлагаешь и несколько раз сказал что так не получится
Dmitry
FileViewFinder - это ж твой класс?
Anton
Нет
Anton
Это класс ларавеля
Dmitry
нет
Dmitry
return new \App\Services\View\FileViewFinder
Anton
который ищет где лежат габлоны
Anton
class FileViewFinder extends \Illuminate\View\FileViewFinder
Anton
мой сделан только для того чтобы можно было написать правила поиска для партнеров
Anton
Именно это я и делаю!
Anton
но не подменять
Anton
а биндить свой
Anton
можно сразу его забиндить
Anton
но надо в какой-то момент пересетать партнера
Anton
и вот тут не получается
Anton
то что в глубине Mail::send используется оказывается новым инстансом
Dmitry
просто не понятно как ты его вообще задаешь
Dmitry
если шаблон у тебя по одинаковому называется
Anton
значешь что такое биндинг?
Anton
как можно свой шаблонизатор забиндить в ларавеле или какой другой объект?
Dmitry
я то понимаю, я не поинмаю как он у тебя ищет файл в разных папках, причем надоходит нужный
Dmitry
хотя название одинаковое
Anton
он у меня не ищет
Anton
он у меня только добавляет папки в которых можно искать
Anton
ищет - штатный
Dmitry
они же из конфига берутся?
Dmitry
и сразу все?
Dmitry
ммм... вот теперь понятно в чем твоя проблема :)
Anton
ну же?
Dmitry
ты на старте приложения уже жестко привязан к какому то партнеру, так?
Anton
Нет
Dmitry
ну как нет? а это ты где биндишь?
$this->app->bind('view.finder', function ($app) {
$paths = $app['config']['view.paths'];
return new \App\Services\View\FileViewFinder($app['files'], $paths);
});
Anton
А где ты там партнера видишь?
Dmitry
$app['config']['view.paths'];
Anton
Это не партнерская настройка
Anton
это глобальная
Anton
как будто их нет
Anton
там лежат ВСЕ шаблоны
Dmitry
т.е. это шаблоны всех партнеров?
Anton
нет
Anton
вообще ВСЕ шаблоны
Anton
Есть шаблоны что не приналдлежат партнерам
Anton
забей
Anton
я уже понял что объяснять мне намного дороже чем дебажить
Dmitry
судя по всему, там много именно на твоем коде завязано
Anton
Нет
Anton
просто не понятно как подменить налету view.finder
Anton
вот основной вопрос
Dmitry
никак
Anton
вообще не факт
Dmitry
потому что он часть View
Anton
ну или если не подменить, то поменять значения в нем
Dmitry
и добавляется через контруктор, т.е. он уже существует как зависимость объекта
Dmitry
в тот момент когда ты хочешь подменить
Dmitry
но там есть setFinder судя по всему :)
Anton
Это объект? - да, у объекта в рантайме можно менять аттрибуты? - да
Anton
как поменять аррибут finder?
Anton
app('view.finder')->setPartner($Partner); - делаю вот так
Anton
но уже глубже в исполнении этого ничего нет
Dmitry
Anton
Окей
Anton
Anton
это мой объект и у него есть функция - setPartner
Anton
Anton
как-то круто - заменять целиком фаиндер, а не менять свойство ему, которое уже и так есть
Anton
Anton
Я понимаю в каких случаях они зло
Anton
все
Anton
я уже понял
Anton
можно закрыть дискуссию
Anton
Я то достучусь, но не будет ли там такой же фигни как и с app('view.finder')->setPartner($Partner);
Anton
что отчего-то там уже совсем другой объект
Dmitry
после того как приложение стартануло изменение app('view.finder') уже ни на что не повлияет