Наследование классов вендоров от собственных базовых и другие вопросы.

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
louisvuitton
Сообщения: 203
Зарегистрирован: 2014.02.16, 03:09

Наследование классов вендоров от собственных базовых и другие вопросы.

Сообщение louisvuitton »

Проблема такая... (думаю этот вопрос больше про ооп в php чем по yii)

У меня сделан собственный базовый класс, с общими для всех моих контроллеров вещами.
Я наследую свои контроллеры от него, и все вроде было в порядке, пока я не начал использовать сторонние модули.

Допустим модуль User от Dektrium.
Мне нужно, чтобы некоторые его контроллеры тоже заимели функционал моего базового класса.
Но как это сделать, не залезая в код папки vendors?

В документации есть инфа о том, что можно перезаписывать контроллеры модуля, но наследоваться то они все равно должны от класса в модуле! А множественного наследования в пхп нет.
Как быть?
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Наследование классов вендоров от собственных базовых и другие вопросы.

Сообщение slavcodev »

Выноси общий функционал в поведения, подключать его можно через конфиг, ивенты и т.д.
Или пересмотреть архитектуру свою, контролеры должны быть как можно "тоньше"
Жду Yii 3!
louisvuitton
Сообщения: 203
Зарегистрирован: 2014.02.16, 03:09

Re: Наследование классов вендоров от собственных базовых и другие вопросы.

Сообщение louisvuitton »

Вот у меня есть 2 базовыx контроллера для админ-части и для пльзовательской части.
В пользовательском конроллере у меня задается пользовательский layout, формируется главное меню сайта, массив метатегов для сео, если нужны.
В администраторском контроллере задается администраторский layout, формируется администраторское меню + он закрывается для незалогиненных пользователей

Потом свои контроллеры с пользовательскими action'ами и администраторскими action'ами я наследую соответсвенно от базовых.

Как бы делали вы, плз. (желательно попроще и у меня basic шаблон)
Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Наследование классов вендоров от собственных базовых и другие вопросы.

Сообщение Insolita »

задание layout - в конфиг приложения, меню/метатеги через виджеты, закрытие в поведение
louisvuitton
Сообщения: 203
Зарегистрирован: 2014.02.16, 03:09

Re: Наследование классов вендоров от собственных базовых и другие вопросы.

Сообщение louisvuitton »

Не понял как через конфиг задать разные layout'ы для разных групп контроллеров =\

И еще хотелось бы для себя прояснить, что такое View.
Вот контроллеры и модели это классы со свойствами и методами, а View? Сначала идет секция use, потом куски html и php кода, иcпользующие то, что прописано в use. + $this каким то образом указывает на yii\web\View. Каким чудом это сделано и работает?

Если вопрос кажется вам идиотским, прошу понять и простить) Инфы на русском маловато для меня (
Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Наследование классов вендоров от собственных базовых и другие вопросы.

Сообщение Insolita »

Если вопрос кажется вам идиотским, прошу понять и простить) Инфы на русском маловато для меня (
изучай исходники... да и без английского никуда сейчас
https://github.com/yiisoft/yii2/blob/ma ... b/View.php
Ответить