Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Логика приложения [2]
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Логика приложения

Страниц (3): « 1 [2] 3 »
 

16. dubasua - 30 Июня, 2013 - 02:22:51 - перейти к сообщению
DeepVarvar пишет:
Ну так перед запуском экшна (читай метода) я проверяю есть ли у метода описание прав, и если есть, то ищу у пользака.
Если у пользака не найдено - пшел вон..

Получается я могу написать свой контроллер, дать ему права доступа, а внем запускать любой другой контроллер без проверки???
17. DeepVarvar - 30 Июня, 2013 - 02:24:03 - перейти к сообщению
Не выйдет - там нет HMVC
18. dubasua - 30 Июня, 2013 - 02:29:51 - перейти к сообщению
DeepVarvar пишет:
Не выйдет - там нет HMVC

Вы ввели меня в тупик, я не знаю что такое HMVC.
Но вопрос у меня все же есть, я что не могу внутри метода напрямую вызвать контроллер (это же обычный класс)?
19. DeepVarvar - 30 Июня, 2013 - 02:38:24 - перейти к сообщению
Контроллер хотя и есть обычный класс, но используется он в ином контексте.
Наживую в контроллере вызывать другого контроллера - это жесть.

В "стандартном" приложении из контроллера нельзя вызвать другой контроллер.
Зато можно, если приложение реализует HMVC, где цепочка вызываемых контроллеров может быть бесконечной.

И всеравно цепочка идет от УРЛ, а не голыми руками в методе.
20. LIME - 30 Июня, 2013 - 02:44:25 - перейти к сообщению
для примера
в каком контроллере ты какой хочешь вызвать?
21. dubasua - 30 Июня, 2013 - 02:52:06 - перейти к сообщению
Для примера, что мне мешает сделать вот так:
PHP:
скопировать код в буфер обмена
  1.  
  2. class My_Bad_Controller extends Some_Base_Controller {
  3.  
  4.    public function indexAction ( $someParam ) {
  5.  
  6.       include_once 'baset_to_controllers/Some_Controller.php';
  7.       $contr = new Some_Controller;
  8.       $contr->indexAction( $someParam );
  9.  
  10.       // или, если вдруг статический
  11.       call_user_func('Some_Controller::indexAction', $someParam );
  12.  
  13.    }
  14.  
  15.  
  16. }
  17.  
  18.  
22. DeepVarvar - 30 Июня, 2013 - 02:54:24 - перейти к сообщению
dubasua пишет:
что мне мешает сделать вот так
Здравый смысл..
23. LIME - 30 Июня, 2013 - 02:56:43 - перейти к сообщению
я просил не гипотетический пример
ну неужели по вопросу не видно?
я хочу чтоб ты понял что это нафиг не надо
придумай реальный случай и без кода
ззачем тут кому твой код?
какие контроллеры могут пересекаться?
24. dubasua - 30 Июня, 2013 - 02:58:56 - перейти к сообщению
DeepVarvar пишет:
Здравый смысл..
Мне да! Но я думаю не о себе. Какой нибудь Вася дизайнер, который обиделся на меня, в шаблоне может че нибудь такое вытворить.
25. DeepVarvar - 30 Июня, 2013 - 03:02:50 - перейти к сообщению
dubasua пишет:
Вася дизайнер, который обиделся на меня, в шаблоне может че нибудь такое вытворить
Это проблема Васи дизайнера. Пиши доки и тыкай в них всех "Вась".
26. dubasua - 30 Июня, 2013 - 03:09:04 - перейти к сообщению
LIME пишет:
придумай реальный случай и без кода
ззачем тут кому твой код?
какие контроллеры могут пересекаться?

Ok. Есть контроллер который вырисовывает слайд шоу или просто слайдер, и при чем не из своих материалов, а например из новостей или статей. Но что бы ему получить список статей, он в базу не лезет, уже есть другой контроллер который это делает, вот он его и вызывает, но со своими параметрами, принимает от него массив и отрисовывает в своем виде.
27. vanicon - 30 Июня, 2013 - 03:12:19 - перейти к сообщению
dubasua пишет:
Но что бы ему получить список статей, он в базу не лезет

С базой контроллер работать не должен, с ней должна работать модель, берите с модели данные и не парьтесь...
28. DeepVarvar - 30 Июня, 2013 - 03:13:02 - перейти к сообщению
dubasua пишет:
Ok. Есть контроллер который вырисовывает слайд шоу или просто слайдер, и при чем не из своих материалов, а например из новостей или статей. Но что бы ему получить список статей, он в базу не лезет, уже есть другой контроллер который это делает, вот он его и вызывает, но со своими параметрами, принимает от него массив и отрисовывает в своем виде.
Определись с понятиями - контроллер это штука которая доступна по УРЛ. И как правило он вообще в базу не лезет.

Определился? Теперь повтори ситуацию.
29. dubasua - 30 Июня, 2013 - 03:17:29 - перейти к сообщению
Да там уже без разницы откуда брать, я временно зарубил права на статьи, а на слайд шоу нет, Вот и косяк на рисовался.
30. DeepVarvar - 30 Июня, 2013 - 03:19:23 - перейти к сообщению

Анекдот в тему понятий, мат заменю на слово <контроллер>:

На заводе запретили матом ругаться.
Призводлительность труда упала вдесятеро.
Директор спрашивает у бригадира:
- В чем дело?
Тот отвечает:
- Пока вспомнишь как этот <контроллер> называется, пол дня пройдет..

(Добавление)
Не все то контроллер что у dubasua контроллером называется..
Поди его разбери..

 

Powered by ExBB FM 1.0 RC1