我需要更好地了解如何使用php实现REST服务
从我读过的内容来看,他们说“使用逻辑地址”,最好不要使用get变量。
我看不到这些网址是如何处理的。 与 www.somename.com/product 一样,产品应该不一个实际地址。
我的意思是,你确实需要一些具有php processingcode的入口文件 这是真正的工作,不是吗?
这是如何运作的?
之后我可以在自定义xml标签之间回显数据,客户端应用程序可以解析这个。我仍然记得处理ajax这一部分。 只有使用REST,您才能将所有资源(数据或文件数据)放在网址中。
这让我回到原来的问题。 这些逻辑网址是如何被处理的? (在php中)
谢谢,理查德
答案 0 :(得分:2)
基本答案是有人在上述评论中提到的:mod_rewrite。通过将Apache配置为使用mod_rewrite来路由Web请求,您可以让所有资源请求通过单个入口点。例如:
RewriteEngine On
RewriteRule !\.(js|ico|gif|jpg|png|css|html|swf|mp3|wav)$ index.php [L]
将所有非静态资源请求发送到index.php。然后index.php可以决定要加载哪些内容,比如检查$_SERVER['SCRIPT_URI']
并解析请求可能是/animals/cat
的事实。
许多MVC框架都采用这种概念,并将此路由方法用作加载控制器和视图的方法。
答案 1 :(得分:0)
IMO,您在PHP中使用RESTful Web服务的最佳选择是使用支持和理解RESTful-ness的现有框架之一。搜索CakePHP,CodeIgniter(也许Symfony,我不确定)都做REST事情......没有一个是完美的,所以你选择哪一个将取决于你的需求。我使用过Cake和CI,我更喜欢CI。
如果您在Apache上托管,这些框架将使用.htaccess和mod_rewrite,所以也请将之前的答案放在心上。