ФорумСообществоПрофессиональная деятельностьВзаимопомощь → Нужен разбор URL как в WP

Нужен разбор URL как в WP

  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 24 мая 2009 г. 14:31, спустя 5 часов 15 минут 9 секунд

    По теме:
    Упорядочил кое-что. Откомментировал кое-что. Шаблонизатор научил использовать "маршрутные ссылки". Кеш научил работать по времени.
    http://cmf.org.ru/minimal-090525.zip
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 24 мая 2009 г. 14:32, спустя 1 минуту

    Шаблонизатор научил использовать "маршрутные ссылки"

    что это такое? можно?
    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 24 мая 2009 г. 14:33, спустя 10 секунд

    ааа тормоз)) можно пример ссылки?
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 24 мая 2009 г. 14:36, спустя 3 минуты 13 секунд

    <li><a href="{#'topic', relId, related.1, related.0}">{$related.0}</a></li>
    <a href="{#'archive:month', date}">here</a>

    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 24 мая 2009 г. 14:38, спустя 1 минуту 56 секунд

    {#'archive:month', date}


    ыыы. молодец! 5+
    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 6:48, спустя 2 дня 16 часов 10 минут


    ты готов платить избыточностью в шаблоне страницы лишь бы уйти от избыточности в конфиге.
    дело твоё, а я не согласен

    http://www.alik.su/articles/10-ugly-programming-techniques/#absence-of-named-arguments

    случайно наткнулся, и понял что так думаю не только я
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 7:47, спустя 58 минут 24 секунды

    я вобщем-то также думаю, но это вобщем, а здесь:

    Есть только два случая, когда можно использовать неименованные параметры функции.
    Первый случай, это когда параметров немного (не больше 3), и их предназначение очевидно.

    их <= 3. а если в адресной строке больше трех параметров, наверное схема выбрана заумная.
    можно выбрать железный порядок, например перечислять по приципу "от общего к частному" - категория, дата, айди сущности. если есть айди и тайтл, то сначала айди, потом тайтл. не заблудишся.

    именованные параметры полезны когда есть значения по-умолчанию. в нашем примере такого нет.
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 8:01, спустя 14 минут 7 секунд


    я вобщем-то также думаю, но это вобщем, а здесь:

    Есть только два случая, когда можно использовать неименованные параметры функции.
    Первый случай, это когда параметров немного (не больше 3), и их предназначение очевидно.

    их <= 3. а если в адресной строке больше трех параметров, наверное схема выбрана заумная.
    можно выбрать железный порядок, например перечислять по приципу "от общего к частному" - категория, дата, айди сущности. если есть айди и тайтл, то сначала айди, потом тайтл. не заблудишся.

    именованные параметры полезны когда есть значения по-умолчанию. в нашем примере такого нет.

    видишь ли, насколько я понял, то!

    можно вообще передавать всегда одни и теже параметры, а в любой момент времени всего лишь поправив правило

    с

    /blog/%d/%m/%y/%id

    на

    /blog/%title%.html

    я получу желаемый эффект, а в твоем случае придется еще правиь правила. + мой еще в том, что я захочу например

    /blog/%category%/%title%.html

    я тоже сделаю это.

    итого 6 параметров. хотя это все избыточность конечно. хочется натйи какой то консенсус … моэет быть передавать масив ключ-знаение? все равно эти все данные есть в массиве(blogpost) rjnорый мы из бд возьме. там есть и тайтл и категория и айди и дата, нунеобходимые параметры добавить по вкусу))

    в приницпе я думаю ты меня понял, а ссылку строить просто

    {#blogpost:1 $blogpost} - первая схема в роутерах blogpost и параметром массив
    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 8:03, спустя 1 минуту 34 секунды

    зы 5600
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 8:18, спустя 15 минут 32 секунды

    видишь ли, насколько я понял, то!

    можно вообще передавать всегда одни и теже параметры, а в любой момент времени всего лишь поправив правило

    это да

    а в твоем случае придется еще правиь правила.

    придется править только строку-шаблон адреса.

    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 8:26, спустя 7 минут 27 секунд


    а в твоем случае придется еще правиь правила.

    придется править только строку-шаблон адреса.


    а если там другие переменные должны быть задействованы?
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 10:08, спустя 1 час 42 минуты 14 секунд

    если там просто не все переменные задействованы — наплевать, а если другие, то конечно придется менять везде.
    ты предлагаешь использовать просто ВСЕ переменые области видимости шаблона? смело.
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 10:11, спустя 3 минуты 2 секунды


    если там просто не все переменные задействованы — наплевать, а если другие, то конечно придется менять везде.
    ты предлагаешь использовать просто ВСЕ переменые области видимости шаблона? смело.
    нет не все, ты чуток не понял)

    ну смотри есть $tpl->blog_post = $db->get("blog_posts",$_GET['id']); нечто такое и в шаблоне мы можем юзать

    <h1>{$blog_post.title}</h1>

    соотвсетственно я говорю что можно передавать так

    <a href="{href route="blog_post_url:1" params=$blog_post}"> ..

    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 10:21, спустя 10 минут 21 секунду

    если я тебя правильно понял. на моем диалекте шаблона:
    если есть массив тем

    array(
    0=>array("id"=>2932, "date"=>83728327932, "subject"=>"Нужен разбор URL"),
    1=>array("id"=>2933, "date"=>83273892, "subject"=>""Жопа с ручкой")
    )


    список тем со ссылками в шаблоне

    <!– .FOREACH topics AS t –>
    <a href="{#topic, t}">{@t.subject}</a>
    <!– .END –>


    возможно. нам остается позаботиться о том, чтобы ключи массива соответствовали именам подстановочных параметров.
    я в легком ахуе. даже не знаю радоваться или нет
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 27 мая 2009 г. 10:28, спустя 6 минут 42 секунды


    если я тебя правильно понял. на моем диалекте шаблона:
    если есть массив тем

    array(
    0=>array("id"=>2932, "date"=>83728327932, "subject"=>"Нужен разбор URL"),
    1=>array("id"=>2933, "date"=>83273892, "subject"=>""Жопа с ручкой")
    )


    список тем со ссылками в шаблоне

    <!– .FOREACH topics AS t –>
    <a href="{#topic, t}">{@t.subject}</a>
    <!– .END –>


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

    да, ключи если обзывать стандартно, а я всегда придерживаюсь мнения стандартизации. в шаблон основной элемент передаю с именем item. когда много(список тем, то items), id, title, date, content, short, category, tags. такие поля обычны для элемента из базы. поэтому грубо говоря стандартизация наблюдается и видимых проблем быть не должно
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!