Проблема такая... (думаю этот вопрос больше про ооп в php чем по yii)
У меня сделан собственный базовый класс, с общими для всех моих контроллеров вещами.
Я наследую свои контроллеры от него, и все вроде было в порядке, пока я не начал использовать сторонние модули.
Допустим модуль User от Dektrium.
Мне нужно, чтобы некоторые его контроллеры тоже заимели функционал моего базового класса.
Но как это сделать, не залезая в код папки vendors?
В документации есть инфа о том, что можно перезаписывать контроллеры модуля, но наследоваться то они все равно должны от класса в модуле! А множественного наследования в пхп нет.
Как быть?
Наследование классов вендоров от собственных базовых и другие вопросы.
-
- Сообщения: 203
- Зарегистрирован: 2014.02.16, 03:09
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Наследование классов вендоров от собственных базовых и другие вопросы.
Выноси общий функционал в поведения, подключать его можно через конфиг, ивенты и т.д.
Или пересмотреть архитектуру свою, контролеры должны быть как можно "тоньше"
Или пересмотреть архитектуру свою, контролеры должны быть как можно "тоньше"
Жду Yii 3!
-
- Сообщения: 203
- Зарегистрирован: 2014.02.16, 03:09
Re: Наследование классов вендоров от собственных базовых и другие вопросы.
Вот у меня есть 2 базовыx контроллера для админ-части и для пльзовательской части.
В пользовательском конроллере у меня задается пользовательский layout, формируется главное меню сайта, массив метатегов для сео, если нужны.
В администраторском контроллере задается администраторский layout, формируется администраторское меню + он закрывается для незалогиненных пользователей
Потом свои контроллеры с пользовательскими action'ами и администраторскими action'ами я наследую соответсвенно от базовых.
Как бы делали вы, плз. (желательно попроще и у меня basic шаблон)
В пользовательском конроллере у меня задается пользовательский layout, формируется главное меню сайта, массив метатегов для сео, если нужны.
В администраторском контроллере задается администраторский layout, формируется администраторское меню + он закрывается для незалогиненных пользователей
Потом свои контроллеры с пользовательскими action'ами и администраторскими action'ами я наследую соответсвенно от базовых.
Как бы делали вы, плз. (желательно попроще и у меня basic шаблон)
Re: Наследование классов вендоров от собственных базовых и другие вопросы.
задание layout - в конфиг приложения, меню/метатеги через виджеты, закрытие в поведение
-
- Сообщения: 203
- Зарегистрирован: 2014.02.16, 03:09
Re: Наследование классов вендоров от собственных базовых и другие вопросы.
Не понял как через конфиг задать разные layout'ы для разных групп контроллеров =\
И еще хотелось бы для себя прояснить, что такое View.
Вот контроллеры и модели это классы со свойствами и методами, а View? Сначала идет секция use, потом куски html и php кода, иcпользующие то, что прописано в use. + $this каким то образом указывает на yii\web\View. Каким чудом это сделано и работает?
Если вопрос кажется вам идиотским, прошу понять и простить) Инфы на русском маловато для меня (
И еще хотелось бы для себя прояснить, что такое View.
Вот контроллеры и модели это классы со свойствами и методами, а View? Сначала идет секция use, потом куски html и php кода, иcпользующие то, что прописано в use. + $this каким то образом указывает на yii\web\View. Каким чудом это сделано и работает?
Если вопрос кажется вам идиотским, прошу понять и простить) Инфы на русском маловато для меня (
Re: Наследование классов вендоров от собственных базовых и другие вопросы.
изучай исходники... да и без английского никуда сейчасЕсли вопрос кажется вам идиотским, прошу понять и простить) Инфы на русском маловато для меня (
https://github.com/yiisoft/yii2/blob/ma ... b/View.php