Restler拒绝实例化我的任何API类。它总是说它在Route上失败了,但是没有提供任何其他有用的信息。我通过作曲家通过"restler/framework" : "3.0.0-RC6"
安装了Restler,然后创建了一个如下所示的index.php:
<?php
require __DIR__.'/../vendor/autoload.php';
use Luracast\Restler\Restler;
$r = new Restler();
$r->addAPIClass('Explorer');
$r->addAPIClass('Play');
$r->handle();
在与index.php完全相同的目录中,我创建了一个名为Play.php的文件,如下所示:
<?php
public class Play
{
public function __construct() {
error_log("I called the constructor!\n", 3, '/tmp/scott');
}
public function index() {
error_log("I called the index\n", 3, '/tmp/scott');
}
当我调用http://.../api/play
时,我从未看到创建了/ tmp / scott文件,我只是从Restler获得了通用的失败响应:
{
"error": {
"code": 404,
"message": "Not Found"
},
"debug": {
"source": "Routes.php:438 at route stage",
"stages": {
"success": [
"get"
],
"failure": [
"route",
"negotiate",
"message"
]
}
}
}
答案 0 :(得分:1)
正如Luracast在评论中指出的那样,我不得不编辑composer.json来添加这个节:
"autoload": {
"psr-0": {
"": "api"
}
}
然后运行composer dump-autoload