PHP / HTTP-API - 如何从extern调用不同的PHP文件?

时间:2017-08-31 12:42:55

标签: php api http

我正在构建一个非常简单的PHP API,它可以解决HTTP请求。它应该能够创建用户并删除一个用户。所以目前有两个PHP文件/类。一个用于删除,一个用于创建/插入用户。

我的问题:

我如何调用它们(URL如何显示)?正如我在一些例子中看到的那样,大多数人只能通过以下途径来呼叫它们:

删除:http://example.org/deletehttp://example.org/delete.php

创建:http://exmple.org/createhttp://example.org/create.php

那么,我是否必须创建这些路径?我是否需要将所有文件重命名为index.php并将它们放到正确的路径上?

我需要知道,已经建立的实践是什么(我使用php storm IDE)。

谢谢。

2 个答案:

答案 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/createhttp://example.org/delete!您可以使用index.php。

调用的脚本创建_include文件夹

答案 1 :(得分:0)

您需要将URL指向PHP文件或路由的位置。例如,如果您将其指向some_other_func,则需要确保存在该路线。

将您的网址指向http://example.com/delete只要它存在就可以正常工作。