我一直在研究为我的 API 实现 REST 实现并遇到了 Restler。我已经安装了 Restler 2.0 并且正在使用 Apache 和 php > 5.3。我的课如下:
Class Sample
{
function gettest()
{
return "This is a test";
}
}
index.php 是:
set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/restler/');
require_once('path/to/Sample.class.php');
spl_autoload_register('spl_autoload');
$r = new Restler();
$r->setSupportedFormats('JsonFormat');
$r->addAPIClass('Sample');
$r->handle();
我没有使用 .htaccess,而是将以下内容包含在
<Directory /path/to/REST_DIR>
AllowOverride All
Options +FollowSymLinks
DirectoryIndex index.php
RewriteEngine On
RewriteRule ^$ index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
Order deny,allow
Allow from all
</Directory>
在我的 httpd.conf 文件中(因为如果您有权编辑它应该会更快)。
每当我尝试以下路径时:
http://www.myhost.com/REST_DIR/test/
我得到:
{
"error": {
"code": 404,
"message": "Not Found"
}
}
有什么我遗漏的东西或某种更彻底地调试 Restler 以确定它为什么找不到函数 gettest() 的方法吗?
提前致谢。
R