我正在构建一个非常简单的PHP API,它可以解决HTTP请求。它应该能够创建用户并删除一个用户。所以目前有两个PHP文件/类。一个用于删除,一个用于创建/插入用户。
我的问题:
我如何调用它们(URL如何显示)?正如我在一些例子中看到的那样,大多数人只能通过以下途径来呼叫它们:
删除:http://example.org/delete
或http://example.org/delete.php
创建:http://exmple.org/create
或http://example.org/create.php
那么,我是否必须创建这些路径?我是否需要将所有文件重命名为index.php并将它们放到正确的路径上?
我需要知道,已经建立的实践是什么(我使用php storm IDE)。
谢谢。
答案 0 :(得分:2)
可以采用不同的方法......
网址重写
在您的.htaccess中(如果您没有此文件,请在根文件夹中创建它)并将其复制到:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [L]
然后拨打http://example.org/create,它将被重新编写为http://example.org/index.php?page=create
如果你想保留两个不同的页面(create.php和delete.php),那就更喜欢这个:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ $1.php [L]
因此,使用第二个变体http://example.org/create,将调用http://example.org/create.php而不是index.php?page = create
<强>子文件夹强>
我喜欢这个解决方案,因为它使您的API源代码结构化。因此,在每个子文件夹中创建一些index.php,如下所示:
/_include
-- config.php
-- other scripts to include...
/create
-- index.php
/delete
-- index.php
因此,用户会拨打http://example.org/create和http://example.org/delete!您可以使用index.php。
调用的脚本创建_include文件夹答案 1 :(得分:0)
您需要将URL指向PHP文件或路由的位置。例如,如果您将其指向some_other_func
,则需要确保存在该路线。
将您的网址指向http://example.com/delete
只要它存在就可以正常工作。