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"
}
}
関数 gettest() が見つからない理由を特定するために、Restler をより徹底的にデバッグする方法が何か不足していますか?
前もって感謝します。
R