PHP Reslter 3通配符和自定义路由

时间:2015-01-09 00:31:49

标签: php wildcard restler

我在Restler上有这个代码,它返回404 Not Found

class CRUDEntity {
  /**
   * @url GET /entity/{entity_id}/books/*
   */    
  function getBatch($entity_id) {
    var_dump(func_get_args());
  }
}

在索引页面上,我有以下内容:

$r->addAPIClass('CRUDEntity','');

想法是进入url / entity / 1 / books / 10/12/13/14,但它返回404错误。你知道我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

通配符路由不支持动态部分!所以你可以做以下事情

class CRUDEntity
{
    /**
     * @param int $entity_id
     *
     * @url GET /entity/*
     */
    function getBatch($entity_id, $books = 'books')
    {
        if (!is_numeric($entity_id) || $books != 'books') {
            throw new RestException(404);
        }
        $dynamicArguments = func_get_args();
        array_shift($dynamicArguments);
        array_shift($dynamicArguments);
        var_dump($dynamicArguments);
    }
}