За последние 24 часа нас посетили 20763 программиста и 1108 роботов. Сейчас ищут 376 программистов ...

Примеры реализации корневых архитектур

Тема в разделе "Решения, алгоритмы", создана пользователем Mr.M.I.T., 9 июл 2009.

  1. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  2. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    я вот накалякал тут на досуге....
     
  3. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Mr.M.I.T.
    http://joinmuse.ru/#discography/invinci ... h_vinyl%29

    Тоже сайт на аяксе. Писал давно, тогда еще мало что было известно про всякие библиотеки и json. С тех пор сделал сайт доступным и тем, кто без js (поисковикам, в большей степени), правда при этом сайт стал дышать на ладан. Хочу переписать...

    Костян
    Попробуй #F9F9FF для .code, может понравится
     
  4. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    Kreker
    да так лучше, мягче, приятнее. Спасибо.
     
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    Костян
    сыро, много лишнего

    вот например, зачем это нужно
    PHP:
    1. $Dispatcher = new Dispatcher('standart');
    2.  
    3. //Регистрируем команду "login" в модуле "standart"
    4.  
    5.  
    6. $Dispatcher->RegisterAction('login', 'standart');
    7.  
    8. //Регистрируем команду "reg" в модуле "standart"
    9.  
    10.  
    11. $Dispatcher->RegisterAction('reg', 'standart');
    12.  
    13. //Регистрируем команду "user" в модуле "standart"
    14.  
    15.  
    16. $Dispatcher->RegisterAction('user', 'standart');
    17.  
    18. //Также регистрируем ее как команду по умолчанию
    19.  
    20.  
    21. $Dispatcher->RegisterDefault('user', 'standart');
    опять же, а если несколько модулей на одну страницу? или "модуль в модуле" (тоесть вызов действия из действия)
    ArrayList это вообще загадка =) даёшь vector?

    не нужно писать фреймвок в чистом виде,
    достаточно просто "вспомогательного" АПИ
     
  6. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    тоесть, полноценной странички на этом не напишешь
     
  7. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    Ну например такое вытворить можно
    PHP:
    1. <?php
    2. foreach(User::GetInstance(Session::GetUserId())->Access as $ModuleName=>$ActionName) {
    3.   $Dispatcher->RegisterAction($ActionName, $ModuleName);
    4. }
    PHP:
    1. <?php
    2. $Dispatcher->RegisterAction('login', 'module1');
    3. $Dispatcher->RegisterAction('reg', 'module2');
    Где то так:
    PHP:
    1. <?php
    2. class loginAction extends Action {
    3.   public function Run(ArrayList $Params) {
    4.     Dispatcher::Init('./actions/standart/'); //Или дописать в экземпляр SetPath
    5.     $Dispatcher = new Dispatcher('submodule');
    6.     $Dispatcher->RegisterAction('subaction', 'submodule');
    7.     $Result = $Dispatcher->GetResponse(Request::Get('a'), Request::Get('m'));
    8.   }
    9. }
    То есть я тебе почти любой граф сделаю, не то что дерево!!
     
  8. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    убери диспетчер нафиг, или хотя бы RegisterAction, оно не нужно вообще
    права доступа определяет модуль

    какой из этого смысл, если зарегестрировано только 'subaction', 'submodule'
    может тогда уж так
    $Result = $Dispatcher->GetResponse('subaction', 'submodule');

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

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    ну может и модуль
    мне влом было регистрировать еще ))
    $Dispatcher->GetResponse('subaction', 'submodule');
     
  10. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    кстати нафиг компилить файл, чтообы определить что он не нужен??
     
  11. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    чтобы не реализовывать велосипеды с ручным прописыванием модулей и прав в User'е
    собственно по этой же причине говорю тебе сделать автоРоутинг
     
  12. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    вообщем, можешь меня не слушать
    попробуй реализовать какой-нибудь сайт на этом каркасе, подумай как упростить работу с ним, сделать его более гибким, написать под него реальных модулей побольше, админку напиши, права эти

    увидишь что получится
     
  13. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    Mr.M.I.T.
    ну что ты, я прислушался к твоему совету. Действительно то что ты говоришь можно сделать. Возможно так и будет.
    а можешь пример какой нить, а то я не сильно понимаю что ты подразумеваешь именно.

    блог пашет еще на более худшем варианте... так что всё вполне сносно и я не говорю что это идеальное решение ))
     
  14. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    самое тривиальное работа с файловой системой. в дополнение можешь оставить и регистрацию, для особых случаев

    попробуй сделать идеальный
     
  15. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    ну я в принципе так и думал, но мне не нравиться завязка на структуре дистка, потому, что особых, как ты говоришь случаев может быть довольно не мало, например, если есть набор стандартных как бы модулей, но разбитых по другим критериям.
    Идеальный, может когда-то и попробую ))
     
  16. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    а зачем им быть разбитыми по другим критериям - тогда какой смысл в настоящем "критерии" модуля?
     
  17. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    Mr.M.I.T.
    ну я делаю так допустим чтобы не запутываться. Допустим стандартный модуль включает 40 эшенов половино из который не возвращают выводимых данных. То я их поделю в две директории show и do, тогда удобнее оперировать кучей. Ну это уже моя карачка ))
     
  18. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    чем удобнее?
     
  19. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    Mr.M.I.T.
    клацать в дереве редактора )) ну это такое, а вообще я хотел делать роутинг по адресной строке, а не расположению директорий, понимаешь?
     
  20. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    или это тоже велик?
     
  21. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    фух, неделю мышку не щупал =(

    велик =)
     
  22. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    А кого ты щупал всю неделю?
     
  23. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    всего понемножку
     
  24. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    Mr.M.I.T.
    а что тогда не велик)) ?
     
  25. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Костян, ты же не знаешь что он сказал :)

    велИк

    или

    вЕлик? :)