2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|
1 | |
Yii::app()->controller->id пуст10.10.2014, 14:40. Показов 1522. Ответов 16
Метки нет (Все метки)
Доброго времени суток господа! Подскажите мне в чем дело. У меня Yii::app()->controller->id пуст, я так понимаю из-за криво сделанного url класса маршрутизации. Что мне нужно прописать в своем классе чтобы задать имя контроллера. Надеюсь я понятно излагаю...
0
|
10.10.2014, 14:40 | |
Ответы с готовыми решениями:
16
Почему в yii может быть пустым Yii::app()->request->urlReferrer? Как в Yii можно выполнить действие обратное Yii::app()->user->checkAccess('3')? Class 'yii\web\Controller' not found Yii::app()->params |
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|
10.10.2014, 19:32 [ТС] | 3 |
Нужно получить как он называется
0
|
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
|
|
10.10.2014, 19:47 | 4 |
нет. id контроллера дает название класса с маленькой буквы, отрезав слово Controller. И с чего вы решили что id контроллера у вас пуст?
0
|
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
|
10.10.2014, 19:51 | 5 |
в каком именно месте ты его получаешь?
0
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|
10.10.2014, 21:47 [ТС] | 6 |
Вот мне надо название класса. В своем компоненте делаю var_dump, возвращает NULL, а мне по сути нужно получить имя текущего класса контроллера как вы и говорите с маленькой буквы. Объясните пожалуйста как его получить.
0
|
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
|
10.10.2014, 21:52 | 7 |
на вопрос "где-то там", ответ будет "как-нибудь"...
0
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|
10.10.2014, 22:04 [ТС] | 8 |
В компоненте, который подключается в конфиге, потом в его init() я пробую посмотреть что в Yii::app()->controller->id, о он мне возвращает NULL, мне просто нужно понять, как получить имя текущего контроллера.
Добавлено через 41 секунду var_dump(Yii::app()->controller->id); только и всего. Добавлено через 46 секунд Я наверное недопонял чего-то
0
|
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
|
10.10.2014, 22:24 | 9 |
Если init() то скорее всего не компонент, а какой то виджет. В init() не инициализировано еще ничего. Проверяй в run()
0
|
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
|
|
10.10.2014, 22:36 | 10 |
0
|
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
|
|
11.10.2014, 06:59 [ТС] | 11 |
Я так понимаю получить имя текущего контроллера только из самого контроллера, а в компоненте мне нужно взять его из URL наверное...
Добавлено через 13 минут Кароче объясняю что да куда. У меня в бд есть некая инфа, мне нужно сделать запрос через компонент чтобы эту инфу вынуть, для этого мне нужно имя контроллера, который был запрошен. Компонент будет содержать эти данные, и в виде я смогу я их использовать под свои нужды.
0
|
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
259 / 223 / 109
Регистрация: 07.07.2014
Сообщений: 965
|
|
13.10.2014, 13:48 | 12 |
Это у вас не по MVC получается, зачем вам при таком раскладе Yii?
Должно быть так: Контроллер обращается к компоненту, передает необходимые для выборки данные (и это не название контроллера, к слову), компонент лезет в базу, достает нужное и возвращает. Профит.
0
|
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
|
|
13.10.2014, 14:28 | 13 |
это не тоже не mvc. Компонент который по команде контроллера лезет в базу называется модель...
за чем для этого имя контроллера? Запросы к базе делаются не компонентами,а моделями
0
|
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
259 / 223 / 109
Регистрация: 07.07.2014
Сообщений: 965
|
|
13.10.2014, 16:48 | 14 |
Я не говорил что компонент лезет напрямую, компонент лезет через модель конечно же.
0
|
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
|
|
13.10.2014, 18:11 | 15 |
Рад буду, если кто-то пояснит мне что такое компонент, разумеется в рамках mvc и что слово компонент означает в данной теме
0
|
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
259 / 223 / 109
Регистрация: 07.07.2014
Сообщений: 965
|
|
13.10.2014, 18:52 | 16 |
ads, в рамках MVC понятие компонент не предусмотрено. Однако никто не запрещает использовать что-то еще, помимо MVC.
В данной теме под компонентом, очевидно, имеется в виду его общее понятие - можно заглянуть на википедию: https://ru.wikipedia.org/wiki/... 0%B8%D0%B5) , но там честно говоря хрень какая-то написана, ну то что дальше первого предложения. Собственно говоря, компонент, - эта такая штука которая не модель, но используется контроллерами и/или моделями. Т.н. пишем ООП-обертку над mbstring и говорим что это компонент. И все нормально.
0
|
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
|
|
13.10.2014, 20:36 | 17 |
Позволю себе предположить что хочет ТС... Вероятно ТС хочет сделать виджет, который отображает какие-то данные. Если это так, то виджет должен состоять из вида(код, который вставляется в страницу), контроллера - а куда ж еще запрос кидать как не в контроллер, а контроллер уже к модели обращается. Модель она и есть модель.. Виджет в сборе - маленькая реализация страницы(фрагмента страницы) со всеми аттрибутами mvc.
Не по теме: Ну и компонент. Компонент как хотите его переводите, но по хорошему - это какой-нибудь модуль вычисляющий бином ньютона, не имеющий отношения ни к хранению данных, ни к его отображению, ни к собственно данным.. компонент - сам по себе.... Это конечно моя вольная трактовка
0
|
13.10.2014, 20:36 | |
13.10.2014, 20:36 | |
Помогаю со студенческими работами здесь
17
Как в yii сделать $this->controller->render('application.') из виджета? Почему в Yii может не отрабатываться $app->run(); ? Controller Serve Raid M5014 SAS/SATA Controller совместимость с HDD Я теряю данные на пути Controller-View-Controller. Как правильно получить модель из представления? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |