Рестлер 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.