Fat Free Framework использует $args['name'] или PARAM.name для параметров маршрута?

В коде Fat Free Framework и его примерах в Интернете я иногда вижу параметры URL, на которые ссылаются так:

route_func($f3, $args) {  
     echo $args['name'] 
}

я также вижу:

route_func($f3, $args) {  
    $param=$f3->get('PARAMS.name');      
    echo $param;
}

Какой метод предпочтительнее? Есть ли какие-либо предостережения для одного или другого?

1 ответ

Решение

PARAMS переменная может быть доступна из любого места в коде, поэтому $f3->get('PARAMS.name') работает везде.

В любом случае, для удобства, во время маршрутизации параметры маршрута передаются обработчику маршрута. Таким образом, вы можете сэкономить одну строку кода, используя 2-й аргумент, передаваемый обработчику маршрута.

Другими словами, 2 приведенных вами примера эквивалентны, поэтому выберите тот, который вы понимаете лучше всего.

Посмотрите этот ответ для более подробной информации об аргументах, передаваемых во время маршрутизации.

НОТА:

Как предположил @user3587554, два синтаксиса различаются при обработке несуществующих ключей: $args['name'] выдает ошибку $f3->get('PARAMS.name') возвращает NULL. Таким образом, чтобы быть полностью идентичным, первый синтаксис должен быть @$args['name'], Но в большинстве случаев эта мера предосторожности бесполезна, так как нет сомнений в отношении названий параметров.

Другие вопросы по тегам