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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Логика приложения [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
dubasua
Отправлено: 30 Июня, 2013 - 02:22:51
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




DeepVarvar пишет:
Ну так перед запуском экшна (читай метода) я проверяю есть ли у метода описание прав, и если есть, то ищу у пользака.
Если у пользака не найдено - пшел вон..

Получается я могу написать свой контроллер, дать ему права доступа, а внем запускать любой другой контроллер без проверки???
 
 Top
DeepVarvar Супермодератор
Отправлено: 30 Июня, 2013 - 02:24:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Не выйдет - там нет HMVC
 
 Top
dubasua
Отправлено: 30 Июня, 2013 - 02:29:51
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




DeepVarvar пишет:
Не выйдет - там нет HMVC

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



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Контроллер хотя и есть обычный класс, но используется он в ином контексте.
Наживую в контроллере вызывать другого контроллера - это жесть.

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

И всеравно цепочка идет от УРЛ, а не голыми руками в методе.
 
 Top
LIME
Отправлено: 30 Июня, 2013 - 02:44:25
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




для примера
в каком контроллере ты какой хочешь вызвать?
 
 Top
dubasua
Отправлено: 30 Июня, 2013 - 02:52:06
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




Для примера, что мне мешает сделать вот так:
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.  

(Отредактировано автором: 30 Июня, 2013 - 02:54:33)

 
 Top
DeepVarvar Супермодератор
Отправлено: 30 Июня, 2013 - 02:54:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




dubasua пишет:
что мне мешает сделать вот так
Здравый смысл..
 
 Top
LIME
Отправлено: 30 Июня, 2013 - 02:56:43
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




я просил не гипотетический пример
ну неужели по вопросу не видно?
я хочу чтоб ты понял что это нафиг не надо
придумай реальный случай и без кода
ззачем тут кому твой код?
какие контроллеры могут пересекаться?
 
 Top
dubasua
Отправлено: 30 Июня, 2013 - 02:58:56
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




DeepVarvar пишет:
Здравый смысл..
Мне да! Но я думаю не о себе. Какой нибудь Вася дизайнер, который обиделся на меня, в шаблоне может че нибудь такое вытворить.

(Отредактировано автором: 30 Июня, 2013 - 02:59:18)

 
 Top
DeepVarvar Супермодератор
Отправлено: 30 Июня, 2013 - 03:02:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




dubasua пишет:
Вася дизайнер, который обиделся на меня, в шаблоне может че нибудь такое вытворить
Это проблема Васи дизайнера. Пиши доки и тыкай в них всех "Вась".
 
 Top
dubasua
Отправлено: 30 Июня, 2013 - 03:09:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




LIME пишет:
придумай реальный случай и без кода
ззачем тут кому твой код?
какие контроллеры могут пересекаться?

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



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




dubasua пишет:
Но что бы ему получить список статей, он в базу не лезет

С базой контроллер работать не должен, с ней должна работать модель, берите с модели данные и не парьтесь...


-----
Так было, так есть и так будет
 
 Top
DeepVarvar Супермодератор
Отправлено: 30 Июня, 2013 - 03:13:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




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

Определился? Теперь повтори ситуацию.
 
 Top
dubasua
Отправлено: 30 Июня, 2013 - 03:17:29
Post Id



Посетитель


Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012  


Помог: 7 раз(а)




Да там уже без разницы откуда брать, я временно зарубил права на статьи, а на слайд шоу нет, Вот и косяк на рисовался.
 
 Top
DeepVarvar Супермодератор
Отправлено: 30 Июня, 2013 - 03:19:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)





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

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

(Добавление)
Не все то контроллер что у dubasua контроллером называется..
Поди его разбери..
 
 Top
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB