这些天我正在使用纤薄的框架作为我开发 php web api 的最简单的工具。
使用这两篇文章:
- 科恩拉茨 http://coenraets.org/blog/2011/12/restful-services-with-jquery-php-and-the-slim-framework/
- 编码这个 http://codingthis.com/programming/php/using-the-slim-php-framework-for-developing-rest-apis/comment-page-1/#comment-24213
我从那里开始遵循一些步骤。下载 Slim Framework,放入正确的目录和文件。调整启动语句,例如;
//1. Require Slim
require('Slim/Slim.php');
//2. Instantiate Slim
$app = new Slim();
//3. Define routes
$app->get('/books', function ($id) {
//Show book with id = $id
});
然后,我相应地修改其余部分。
比如我已经完成的清单:
- LoadModule rewrite_module 模块/mod_rewrite.so -> 启用
- 苗条的.htaccess:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule
^(.*)$ bootstrap.php [QSA,L]
- httpd.conf:(共享链接)。 http://pastebin.ca/2128997
但是,一旦我运行了这个语句;
$app->run();
我在浏览器上运行它......然后,我得到了404错误在我的本地主机上测试它时。解决这个问题的解决方案是什么?
仅供参考,这是我当前正在使用的最简单的 PHP 文件。
问题解决了!
我的apache其实是正常的,前面提供的.htaccess文件也正常。
线索是我使用的 URL。
之前我使用了无效的 URL,因此返回了 404 页面错误。
当我尝试使用这个通过浏览器访问较新的 GET URL 时,我才意识到这一点;
http://localhost/dev/index.php/getUsers/user1
现在可以了!
当我发现这些陈述时我才意识到;
如果 Slim 找不到 URI 与 HTTP 请求匹配的路由
URI,Slim 会自动返回 404 Not Found 响应。
如果 Slim 找到 URI 与 HTTP 请求 URI 匹配但不匹配的路由
HTTP请求方法,Slim会自动返回405方法
不允许的响应,带有Allow: 标头,其值列出了 HTTP
所请求的资源可接受的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)