Рестлер 3, php, глаголы. Как работает путь?

У меня проблема. Как работают пути в Рестлере 3?

class eventos {
function index($desde=0, $hasta=0) {}

function get($num, $p2='optional') {
       if($p2 != 'attend'){}
       else{}
    }

function post($num, $p2, $request_data = null){

       if($p2 == 'comment'){}
       if($p2 == 'attend'){}

    }

}

Я нуждаюсь:

GET... public / index.php / eventos / (с 2 параметрами) Хорошо!

POST... public / index.php / eventos / (4-5 параметров) Как это работает?

ПОЛУЧИТЬ...public/index.php/eventos/{id} хорошо!

ПОЛУЧИТЬ...public/index.php/eventos/{id}/ посетить НЕТ РАБОТЫ!!! работать, если...eventos/x?p2= присутствовать, но я не хочу этого, я хочу... eventos / x / следить

POST ...public/index.php/eventos/{id}/ Particip (параметры X) хорошо!

POST ...public/index.php/eventos/{id}/ comment (с 2 параметрами) хорошо!

Спасибо!

1 ответ

(Я предполагаю, что под "2 параметрами" вы подразумеваете параметры строки запроса)

Для Restler 3 обязательны параметры, которые являются частью пути (например, eventos /x /serve). Все, что вы хотите сделать необязательным, пришло бы из строки запроса.

Так как вы определили GET $p2 как необязательный, он может быть получен только из строки запроса: eventos/x? P2= Participant.

Если вы хотите переопределить это и вернуться к методу Rester 2, вы можете отключить эту автоматическую маршрутизацию, как указано здесь: http://restler3.luracast.com/examples/_006_routing/readme.html

Что касается вашего вопроса POST о 4-5 параметрах, если вы хотите, чтобы они требовались:

function post($id, $p1, $p1, $p3, $p4){

... или если они необязательны:

function post($id, $p2, $request_data = null){

и затем передайте 4-5 параметров в теле POST по URL-адресу eventos / serve или eventos / comment.

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