gpt4 book ai didi

php ReSTLer 路由

转载 作者:搜寻专家 更新时间:2023-10-31 22:14:38 25 4
gpt4 key购买 nike

我正在使用 ReSTLer 2.0,我正在尝试添加一个基于 CRUD 示例的新路由

$o['GET']['author/:name/:email']=array (
'class_name' => 'Author',
'method_name' => 'getLogin',
'arguments' =>
array (
'name' => 0,
'email' => 1,
),
'defaults' =>
array (
0 => NULL,
1 => NULL,
),
'metadata' =>
array (
),
'method_flag' => 0,
);

当我在浏览器中调用 url http://[host]/author/[name to pull]/[email to pull]

我收到以下错误:

{  "error": {    "code": 404,    "message": "Not Found"  }}

my author code has been updated with the following method

function getLogin($name=NULL,$email=NULL) {
print "in author, getting login";
return $this->dp->getLogin($name,$email);
}

我被难住了。

最佳答案

Luracast ReSTLer 自动路由

首先,当您在生产模式下运行 ReSTLer 时,routes.php 会自动生成

$r = new Restler(TRUE);

调用时会被覆盖

$r->refreshCache();

或在 Debug模式下运行它,因此不应手动编码。

ReSTLer 2.0 使用自动映射,这在更新的 CRUD Example 中有更好的解释。 .

你的方法的更正版本应该是

function get($name=NULL,$email=NULL) {
print "in author, getting login";
return $this->dp->getLogin($name,$email);
}

将映射到

GET /author/:email/:password

你的方法当前映射到哪里

GET /author/login/:email/:password

Luracast ReSTLer 自定义路由

另请注意,您可以使用 PHPDoc 注释来创建自定义映射,并且可以添加多个。例如

/*
* @url GET /custom/mapping/:name/:email
* @url GET /another/:name/:email
*/
function get($name=NULL,$email=NULL) {
print "in author, getting login";
return $this->dp->getLogin($name,$email);
}

这将创建以下路由,并为该方法禁用自动路由。

GET /author/custom/mapping/:email/:password
GET /author/another/:email/:password

关于php ReSTLer 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8051050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com