PHP.SU

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

Страниц (31): « 1 2 3 [4] 5 6 7 8 9 ... » В конец

> Найдено сообщений: 454
dubasua Отправлено: 30 Июня, 2013 - 03:17:29 • Тема: Логика приложения • Форум: Объектно-ориентированное программирование

Ответов: 32
Просмотров: 4643
Да там уже без разницы откуда брать, я временно зарубил права на статьи, а на слайд шоу нет, Вот и косяк на рисовался.
dubasua Отправлено: 30 Июня, 2013 - 03:09:04 • Тема: Логика приложения • Форум: Объектно-ориентированное программирование

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

Ok. Есть контроллер который вырисовывает слайд шоу или просто слайдер, и при чем не из своих материалов, а например из новостей или статей. Но что бы ему получить список статей, он в базу не лезет, уже есть другой контроллер который это делает, вот он его и вызывает, но со своими параметрами, принимает от него массив и отрисовывает в своем виде.
dubasua Отправлено: 30 Июня, 2013 - 02:58:56 • Тема: Логика приложения • Форум: Объектно-ориентированное программирование

Ответов: 32
Просмотров: 4643
DeepVarvar пишет:
Здравый смысл..
Мне да! Но я думаю не о себе. Какой нибудь Вася дизайнер, который обиделся на меня, в шаблоне может че нибудь такое вытворить.
dubasua Отправлено: 30 Июня, 2013 - 02:52:06 • Тема: Логика приложения • Форум: Объектно-ориентированное программирование

Ответов: 32
Просмотров: 4643
Для примера, что мне мешает сделать вот так:
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.  
dubasua Отправлено: 30 Июня, 2013 - 02:29:51 • Тема: Логика приложения • Форум: Объектно-ориентированное программирование

Ответов: 32
Просмотров: 4643
DeepVarvar пишет:
Не выйдет - там нет HMVC

Вы ввели меня в тупик, я не знаю что такое HMVC.
Но вопрос у меня все же есть, я что не могу внутри метода напрямую вызвать контроллер (это же обычный класс)?
dubasua Отправлено: 30 Июня, 2013 - 02:22:51 • Тема: Логика приложения • Форум: Объектно-ориентированное программирование

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

Получается я могу написать свой контроллер, дать ему права доступа, а внем запускать любой другой контроллер без проверки???
dubasua Отправлено: 30 Июня, 2013 - 02:18:27 • Тема: Логика приложения • Форум: Объектно-ориентированное программирование

Ответов: 32
Просмотров: 4643
DeepVarvar пишет:
В админке есть кнопочка "Пересчитать права доступа".

Это реализовано в Вашей CMS?
dubasua Отправлено: 30 Июня, 2013 - 02:12:21 • Тема: Логика приложения • Форум: Объектно-ориентированное программирование

Ответов: 32
Просмотров: 4643
DeepVarvar пишет:
Достаточно?

Не до конца.
DeepVarvar пишет:
Описание прав содержится прямо в контроллере

DeepVarvar пишет:
А у пользака (вернее у его группы) хранятся те права, которые ему можно.

Где связь? Как группе изменить права, после добавления 10-ти контроллеров?
(Добавление)
Вот если делать проверку перед запуском, внутри самого фрейма, то недоступный экшин можно вызвать внутри разрешенного экшена, а если проверку делать в начале каждого экшена, много дублирования получается, да и как логически привязать "новостную ленту", что бы она еще и отвечала за доступ к самой себе.
dubasua Отправлено: 30 Июня, 2013 - 01:59:25 • Тема: как сделать переадресацию? • Форум: Вопросы новичков

Ответов: 2
Просмотров: 135
modRewrite
dubasua Отправлено: 30 Июня, 2013 - 01:57:13 • Тема: Логика приложения • Форум: Объектно-ориентированное программирование

Ответов: 32
Просмотров: 4643
LIME пишет:
а ты реши как тебе больше нравится

Лично мне больше нравится даже не отдавать эти экшины, если нет на них доступа, но и здесь есть подводные камни, как и с предыдущими вариантами.
dubasua Отправлено: 30 Июня, 2013 - 01:45:37 • Тема: Логика приложения • Форум: Объектно-ориентированное программирование

Ответов: 32
Просмотров: 4643
DeepVarvar пишет:
Что есть фрейм? Это <iframe ..> ?

Нет, ну какой же <iframe? Я говорю о PHP. Фрейм - FrameWork, что-то на подобе фронт-енд контролера, по которому протекает рабочий цикл от REQUEST до RESPONSE.
dubasua Отправлено: 29 Июня, 2013 - 23:05:32 • Тема: Логика приложения • Форум: Объектно-ориентированное программирование

Ответов: 32
Просмотров: 4643
Вот и я решил создать тему, а то как то скучновато.
Нужно правильно построить логику приложения, а конкретно - на каком уровне выполнять проверку прав доступа.
И так представим что есть некоторый фрейм. В процессе выполнения которого, он на определенном этапе получает массив с экшенами и их парметрами которые нужно выполнить не посредственно по запросу пользователя. Вопрос в том, где определить разрешено ли тукещему юзеру запустить тот или другой экшин. Как правило есть два варианта: первый - проверять непосредственно перед запускам экшена в самом фрейме, или второй - в начале каждого экшена?
(Добавление)
Ну что, никто не реализовывал такую логику?
dubasua Отправлено: 29 Июня, 2013 - 22:48:39 • Тема: События и диспетчеризация • Форум: Вопросы новичков

Ответов: 13
Просмотров: 454
sup пишет:
И если можно, посоветуйте статью ( название ), чтобы я понял про "включён"

LIME пишет:
"включает" - это означает что он бежит по указанному пути и включает в код то что там найдет как-будто оно тут и написано

Как по мне все и так уже ясно.
dubasua Отправлено: 29 Июня, 2013 - 22:27:29 • Тема: выборка из таблицы и сортировка по алфавиту • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1152
Ну вот тогда держите ссыль, там все написано.
http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]0/en/select[dot]html
dubasua Отправлено: 29 Июня, 2013 - 22:03:14 • Тема: выборка из таблицы и сортировка по алфавиту • Форум: Вопросы новичков

Ответов: 32
Просмотров: 1152
Ok! Если Вы враг своей базе то делайте вот так
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT * FROM `$view` ORDER BY
  3. `song1`,`song2`,`song3`,`song4`,`song5`,
  4. `song6`,`song7`,`song8`,`song9`,`song10`
  5. LIMIT 1,140",$db);
  6. while ( $myrow = mysql_fetch_assoc ( $result ) ){
  7.    foreach ( $myrow as $song ) {
  8.       echo $song,'<br/>';
  9.    }
  10. }
  11.  
  12.  
  13.  

Страниц (31): « 1 2 3 [4] 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB