Size: a a a

2021 March 24

D

Den in PHP
Artem Molotov
он имел ввиду, что функции можно в неймспейс добавить -_-
наверное такой подход будет слегка кривоват
источник

AM

Artem Molotov in PHP
Den
наверное такой подход будет слегка кривоват
Не более кривой, чем глобальный роутер в статическом классе
источник

AC

Alexey Cherezov in PHP
Den
наверное такой подход будет слегка кривоват
ну просто это было важно для тебя и дает возможность не использовать класс статический
источник

AM

Artem Molotov in PHP
А вообще — функция в неймспейсе вместо глобального неймспейса — это хорошо
источник

СА

Станислав Алексеев... in PHP
Den
я и написал статический класс + нэймспэйс ~ модуль
А в чем проблема? Пишешь 6 функций, get, post, put, delete, any, dispatch в своем неймспейсе, там же определяешь глобальный массив роутов, в функциях хендлеры роутов кладешь в этот массив. А в диспатче берешь реквест_ури и ищешь по регулярке совпадения среди маршрутов. Нашел маршрут и совпал метод -- поздравляю, можно исполнять хендлер, а если нет - кидаешь исключение с надеждой, что кто-то выше его поймает(ну или на клиент рендерить сразу)
источник

D

Den in PHP
пока думаю так:
namespace "Furo";

function process_path($path){
 //stub
}

function route($http_type,$path,$closure,$options){
 //stub
}

function group(){
 //stub
}

function http($http_status,$route){
 //stub
}


function run(){
 //stub
}
источник

СА

Станислав Алексеев... in PHP
Никакого ооп
источник

D

Den in PHP
> Пишешь 6 функций, get, post, put, delete, any, dispatch в своем неймспейсе
route('type'...)
источник

D

Den in PHP
а dispatch -> run
источник

D

Den in PHP
> А в диспатче берешь реквест_ури и ищешь по регулярке совпадения среди маршрутов
и тут случается жопа когда в путях пойдут [:переменные]
источник

D

Den in PHP
особенно с регексами
источник

СА

Станислав Алексеев... in PHP
Den
особенно с регексами
Никаких проблем, на практике проверено
источник

AM

Artem Molotov in PHP
Den
> А в диспатче берешь реквест_ури и ищешь по регулярке совпадения среди маршрутов
и тут случается жопа когда в путях пойдут [:переменные]
Экранирование? Нет, не слышали
источник

D

Den in PHP
Artem Molotov
Экранирование? Нет, не слышали
зависит, способов несколько
источник

AM

Artem Molotov in PHP
Den
зависит, способов несколько
Да хоть тыща
источник

СА

Станислав Алексеев... in PHP
С регулярками проблемы у тех, кто не умеет их готовить, в остальном можно что угодно и как угодно сматчить
источник

AC

Alexey Cherezov in PHP
вангую новый пункт в тз - без регулярок
источник

D

Den in PHP
Станислав Алексеев
С регулярками проблемы у тех, кто не умеет их готовить, в остальном можно что угодно и как угодно сматчить
тут надо будет два+ раз матчить, первый и следущие - переменные, затем сам путь
источник

СА

Станислав Алексеев... in PHP
Den
тут надо будет два+ раз матчить, первый и следущие - переменные, затем сам путь
Один раз. Про группы слышал?
источник

СА

Станислав Алексеев... in PHP
Можно даже именовать их
источник