Форум → Программирование → PHP для идиотов → правильно ли я пишу систему? Много вопросов, задаю их по очереди.
правильно ли я пишу систему? Много вопросов, задаю их по очереди.
Страницы: ← Предыдущая страница • Следующая страница →
-
21 января 2010 г. 11:48, спустя 9 минут 38 секунд
Абырвалг, да нет, просто все еще спят :)
мы то тут до 6мск сидим (я по крайней мере)Сапожник без сапог -
21 января 2010 г. 14:36, спустя 2 часа 47 минут 37 секунд
ну на всякий случай вот UML'ка. Хотя я не особо умею их рисовать. -
21 января 2010 г. 17:06, спустя 2 часа 30 минут 43 секунды
стало совсем непонятно :)ιιlllιlllι унц-унц -
21 января 2010 г. 17:35, спустя 29 минут 1 секунду
+1
стало совсем непонятно :)
я не понял одного - где вход в это кольцо)))))))))) да и выходов с виду дхуя :-DСапожник без сапог -
21 января 2010 г. 17:44, спустя 8 минут 31 секунду
блин, что же это я такой непонятный?) artoodetoo, ты код смотрел? Так это не диаграмма состояний. Вход и выход это Module_Blogs_Reader_Entry::process.
Блоги. Можно читать конкретную запись (Blogs_Reader_Entry) или список записей. Общие части блога объединены в _Common.
Комментарии. Их можно писать (*_Writer) и читать (*_Reader). Общие части комментариев объединены в _Common.
Нам нужно понять что это за блогозапись: общая или приватная из группы. Соответственно URL на просмотр этой записи может быть /blogs/41 или /groups/13/blogs/41. За это отвечают _External классы. Для блогов группы/комментариям к этой группе я подсуну свой соответствующий _External, который вернет Token и urlPrefix. Как я его подсуну? Унаследую.
Blogs_Comments_Reader extends Comments_Reader
protected $external = 'Название класса External'; -
21 января 2010 г. 17:59, спустя 14 минут 41 секунду
Ты уверен что надо непременно наследовать чтобы использовать какие-то данные? Когда ты писал про множественное наследование, я не понял зачем скрещивать именно эти классы. Не стало понятней и сейчас.
И мне кажется, что везде использовать префикс /groups/{$id} будет очень накладно. Везде где упоминается блог или отдельный пост из блога придется узнать про его группу. Какие бы диаграммы ты не рисовал в конечном счете блог это блог. Он уникально адресуется одним ид-ом. И для уникальности темы блога тоже хватит одного числа. Может быть проще приземлить блоги на первый уровень адресов? Тогда запросы на SQL не надо будет усложнять лишними джойнами. Или не понадобится второй запрос.ιιlllιlllι унц-унц -
21 января 2010 г. 18:02, спустя 3 минуты 24 секунды
и правда перемудрил, будьте проще )
я бы artoodetoo, показал адский роутер, который даже без рулов, да вы все обидетесь что я такое "незасветил" :))))))) поэтому не стануСапожник без сапог -
21 января 2010 г. 18:14, спустя 11 минут 37 секунд
Ты уверен что надо непременно наследовать чтобы использовать какие-то данные?
Нет, не уверен. Вот я ж вас всех и спрашиваю: правильно ли это?
/groups/:num/blogs/:num для удобства чтения URL как бы. Кроме того запросы не усложняются, я просто проверяю: есть ли пользователь в группе или нет (и то, если она закрытая).
Окей, допустим, что я черезмерно много наследую. А что если в блогах группы будут какие-то свои поля, которых нет в общих блогах? Я просто перепишу 1 метод checkForm. Удобно же.
Пишу запись: /blogs/write. Как понять куда я ее пишу? Добавлять ?group_id=3 или делать выпадающий список? А можно так /groups/6/blogs/write - и все сразу понятно. "Приземлять" блоги не буду.
phpdude, че это за роутер такой? /module/action/id? гыгыгы. Я так в админке делаю. Там не нужны сверхгибкие УРЛы.Спустя 133 сек.Кстати, вдогонку: узнавать группу сообщения на форуме да, фигово. Поэтому я при формировании списков ссылок делаю так: /go/post/929 -> а там уже редирект на нужную группу, тему и тд. -
21 января 2010 г. 18:14, спустя 50 секунд
phpdude, че это за роутер такой? /module/action/id? гыгыгы. Я так в админке делаю. Там не нужны сверхгибкие УРЛы.
чтото похожееСапожник без сапог -
21 января 2010 г. 19:05, спустя 50 минут 11 секунд
при формировании списков ссылок делаю так: /go/post/929 -> а там уже редирект на нужную группу, тему и тд.
вот это мне нравится ;) 301 Permanent Redirect.
в принципе на обработчике редиректа даже необязательно проверять права. все-равно их будет проверять целевая страница.
phpdude прячет что-то неебически крутое. человекий мозг пока не готов к этому.
Спустя 211 сек.почти все можно описать одной строкой правил
{$controller}/{$action}/{$id}
можно свернуть 100 правил в пару-тройку. только это не ЧеловекоПонятныеУрлы, а МашинноПонятныеУрлы. я все-таки болею за человековιιlllιlllι унц-унц -
21 января 2010 г. 19:08, спустя 3 минуты 26 секунд
{$controller}/{$action}/{$id}
позволю себе продолжить строчку{$controller}/{$action}-{$param1}-{$param2}-{$param3}-{$param4}…
в общем то я про это говорил, прелесть данного "роутера" в его "скорости" - 2 explode и жизнь удалась как гвоорится :)Сапожник без сапог -
21 января 2010 г. 20:19, спустя 1 час 10 минут 54 секунды
ну вобщем да. это просто способ прямого обращения к методу в адресной строке. красткость с.т.
остается только один аргумент: "мне нравятся другие варианты" :)ιιlllιlllι унц-унц -
21 января 2010 г. 20:23, спустя 4 минуты 25 секунд
для некоторых целей мне надо более человекопонятный роутер, поэтому и согласился на "игру" :)
ну вобщем да. это просто способ прямого обращения к методу в адресной строке. красткость с.т.
остается только один аргумент: "мне нравятся другие варианты" :)Сапожник без сапог -
21 января 2010 г. 20:51, спустя 27 минут 12 секунд
я ж говорю: такой простой роутер в админке можно использовать.
А где все остальные? Может Эдво/Мавр мне посоветуют че-нить? -
21 января 2010 г. 21:00, спустя 8 минут 57 секунд
я даже график суровой реальности нарисовал. чем больше и сложнее приложение, тем сильнее кривая жмется к осям координат.
C'est la vieιιlllιlllι унц-унц
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!