ФорумПрограммированиеPHP для идиотовPHP и ООП → класс разбора url (прошу замечаний так как в ООП новичок)

класс разбора url (прошу замечаний так как в ООП новичок)

  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 15 января 2009 г. 16:28, спустя 4 минуты 6 секунд


    Givi, каунт каждый пробег циклы выполняется. хуево дело, у меня помнится есть куски на тысячу элементов :-D

    мне вот интересно форич все еще создает копию массива для работы с ним, или нет, думаю что да, но может они это убили … я не люблю for(..) всегда юзаю foreach()
    патаму каг легше :)
  • phpdude

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

    Spritz 15 января 2009 г. 16:31, спустя 3 минуты 7 секунд

    Josh, так понятнее и лаконичнее. понимаешь, когда сморишь код, хочется видеть, что я пробегаю по ВСЕМ! элементам массива (foreach) а не по 0 и до -1го от всех. если я смотрю исходник, то я же не знаю, вдруг там с 1го начинаются или тп%) короче просто код проще.
    Сапожник без сапог
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 15 января 2009 г. 16:32, спустя 32 секунды

    phpdude
    Ну с этим уж точно не знаком. Можно меня бить тапком, но пока даже не интересно создает ли форич копию массива или нет, потому как юзаю его для других целей, и редко (почему-то). В данной же задаче нужно и нумеролог увеличивать по циклу, потому фор мне подошел как низя кстати :)
  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 15 января 2009 г. 16:44, спустя 12 минут 54 секунды


    phpdude
    Ну с этим уж точно не знаком. Можно меня бить тапком, но пока даже не интересно создает ли форич копию массива или нет, потому как юзаю его для других целей, и редко (почему-то). В данной же задаче нужно и нумеролог увеличивать по циклу, потому фор мне подошел как низя кстати :)
    ты не можешь знать индексы, для фор-а надо преобразовывать массив. а вообще это задача под то, как фрейм заточен, всё равно у каждого разный, как по моему, по большому счёту что возвращает (db/buisness_unit)->(Select/rows), вобщем в каком формате из базы данные гребуться, либо ([нулевой элемент]=>[row, у которого id=5],[первый элемент]=>[row, у которого id=7]) или ([пятый элемент]=>[row, у которого id=5],[седьмой элемент]=>[row, у которого id=7]), и тут хер поспоришь, смотря как дальше точено, либо на прямую для смарти, либо както налево, а про отжирание и копию маасива щитьаю гоном - бля это эксклюзив больше 50 строк выбирать :) пейджинг на дворе :)
  • phpdude

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

    Spritz 15 января 2009 г. 16:47, спустя 2 минуты 46 секунд

    http://ru2.php.net/foreach

    Замечание: Unless the array is referenced, foreach operates on a copy of the specified array and not the array itself. foreach has some side effects on the array pointer. Don't rely on the array pointer during or after the foreach without resetting it.


    а вам слабо? :)
    Сапожник без сапог
  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 15 января 2009 г. 16:52, спустя 4 минуты 57 секунд


    http://ru2.php.net/foreach

    Замечание: Unless the array is referenced, foreach operates on a copy of the specified array and not the array itself. foreach has some side effects on the array pointer. Don't rely on the array pointer during or after the foreach without resetting it.


    а вам слабо? :)
    Не - как минимум у гугла кроме главной страницы есть ещё http://translate.google.com или ты о чём? :)
  • phpdude

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

    Spritz 15 января 2009 г. 16:57, спустя 4 минуты 33 секунды



    http://ru2.php.net/foreach

    Замечание: Unless the array is referenced, foreach operates on a copy of the specified array and not the array itself. foreach  has some side effects on the array pointer. Don't rely on the array pointer during or after the foreach without resetting it.


    а вам слабо? :)
    Не - как минимум у гугла кроме главной страницы есть ещё http://translate.google.com или ты о чём? :)
    я про то, что пхп иправда создает копию массива перед использованием в итераторе. чтобы этого не было можно писать так foreach(&$items as $item) тогда типа не должен :)
    Сапожник без сапог
  • md5

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

    Spritz 15 января 2009 г. 22:09, спустя 5 часов 12 минут 12 секунд


    при создании темы не нашел тега код
     без пробелов
    все умрут, а я изумруд
  • Patrick

    Сообщения: 506 Репутация: N Группа: Кто попало

    Spritz 16 января 2009 г. 0:06, спустя 1 час 57 минут 33 секунды

    Как это сделанно у нас ;)
    Есть структура:

    array(
    'path'=>'/',
    'defaults'=>array('controller'=>'Index','action'=>'Index')
    ),
    array(
    'path'=>':controller/:action/:id',
    'defaults'=>array(),
    'requirements'=>array('id'=>'\d+')
    ),
    array(
    'path'=>':controller/:action',
    'defaults'=>array()
    ),
    array(
    'path'=>':controller',
    'requirements'=>array('controller' => '[a-z_]+'),
    'defaults'=>array('action'=>'Index')
    )


    на основании path и requirements создаём регулярку. Пробигаемся по массиву правил, первое правило которое совпало с Url, то что нам надо ;) в итоге получаем массив:
    controller, action params(тут будет к примеру id и т.д.)

  • NRG

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

    Spritz 16 января 2009 г. 1:37, спустя 1 час 30 минут 45 секунд

    а че вы собственно велосипеды все тут мочите?
    не проще ли взять парочку знаменитых фреймворков и посмотреть как у них организован класс Роутер, и вынести с каждого класса только самое лучшее ?
  • phpdude

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

    Spritz 16 января 2009 г. 1:55, спустя 18 минут 9 секунд


    а че вы собственно велосипеды все тут мочите?
    не проще ли взять парочку знаменитых фреймворков и посмотреть как у них организован класс Роутер, и вынести с каждого класса только самое лучшее ?
    и написать такой же пиздец …

    знаменитое говоришь? битрикс?))
    Сапожник без сапог
  • NRG

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

    Spritz 16 января 2009 г. 2:50, спустя 55 минут 5 секунд

    блять
    я битрикс сука ненавижу!!
    и к тому же, его назвать фреймворком это бред.
    взять к примеру Symfony, ZF, Cake.
    посмотреть как у них это реализовано, переделать так как тебе удобно и так как считаешь лучше и радуйся.
  • phpdude

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

    Spritz 16 января 2009 г. 2:58, спустя 7 минут 32 секунды

    )) прости за стеб)
    Сапожник без сапог
  • phpdude

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

    Spritz 16 января 2009 г. 2:58, спустя 9 секунд

    пиздютрекс - уг
    Сапожник без сапог
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 16 января 2009 г. 4:09, спустя 1 час 10 минут 53 секунды

    NRG
    Трабла в том, что фрейморки делаются под разные задачи, для разных прогерров с разным уровнем знаний и на все случаи жизни. А лично мне нахер не нужны такие разности. И потому брать туйеву кучу кода для своей простенькой задачи не считаю нужным, а даже наоборот - йухнею.

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