Рестлер PHP API Framework URL-маршрутизация - PullRequest
0 голосов
/ 24 ноября 2011

У меня есть вопрос относительно структуры.Я основал свой CRUD на вашем живом примере.У меня есть этот URL:

http://mydomain.com/test/index.php/api/t1/module1/username@mail.com?query1=mama&query2=papa

В моем файле api.php я использовал метод GET для этого запроса:

public function __construct(){
    $this->dp = new Control();
}

public function get($id=NULL, $id2=NULL, $id3=NULL, $id4=NULL)
{
    switch($id)
    {
        case "t1":
            return $this->dp->t1(func_get_args());
        break;
        case "t2":
            return $this->dp->t2(func_get_args());
        break;
        default:
            throw new RestException(400);
        break;
    }
}

Затем на моем control.php ,

public function t1($numbers) {
print_r($numbers);
}

Тело ответа:

Array ([0] => t1 [1] => module1 [2] =>username@mail.com [3] =>)

Чего я хочу добиться здесь - это получить значения query1 и query2 ?Как я могу это сделать?

Спасибо.

1 Ответ

0 голосов
/ 24 ноября 2011

Я создал следующее доказательство концепции, проверил его и убедился, что он работает!

<?php
class Api {
    public function get($id = NULL, $id2 = NULL, $id3 = NULL, $id4 = NULL, $query1 = NULL, $query2 = NULL) {
        return "$query1 $query2";
    }
}

Для размещения вышеуказанного API я использую следующий index.php (gateway)

<?php
require_once '../../restler/restler.php';
require_once 'api.php';
$r = new Restler();
$r->addAPIClass('Api');
$r->handle();

Когда я звоню

http://restler2.dev/test/url_routing/index.php/api/t1/module1/username@mail.com?query1=mama&query2=papa

или

http://restler2.dev/test/url_routing/index.php/api/t1/module1?query1=mama&query2=papa

или

http://restler2.dev/test/url_routing/index.php/api/t1?query1=mama&query2=papa

Я получаю

"mama papa"

Так что я должен бытьвозможность легко передать его другому классу другим методом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...