我正在尝试实现PHP REST API。
api.php
<?php
$path = 'api/';
$method = $_SERVER['REQUEST_METHOD'];
$request = substr(strstr($_SERVER['REQUEST_URI'], $path), strlen($path));
echo $request;
?>
在将我的所有请求重定向到api.php之后,我希望能够调用所需的函数,该函数可能位于不同的文件中。
现在,例如,AJAX请求可能看起来像'api/user/5'
,方法DELETE
。
我希望我的API能够调用user.php
文件,并以DELETE
和$id=5
作为参数。
我怎样才能做到这一点?如何执行驻留在不同文件中的代码?
答案 0 :(得分:1)
简单使用包括。
例如: (假设:api / user / 5通过您的服务器转换为api.php?function = user&amp; value = 5)
api.php:
<?php
valid_functions = array("users", "others");
//so you don't have errors of file not found if someone mistypes the url;
if (in_array($_GET["function"], valid_functions)){
include "{$_GET["function"]}.php";
}
user.php的:
<?php
echo "User id is {$_GET["value"]}";
答案 1 :(得分:1)
您有三种方法可以做到这一点:
require('user.php')
- 记得查看里面的方法!使用以下参数从命令行执行:
exec("php -q user.php $method $id")
要获取HTTP方法,请使用$_SERVER['REQUEST_METHOD']
答案 2 :(得分:1)
在调用函数之前包含该文件。
include 'yourFileName.php';
validateHostName('yourHostName');
您也可以使用
require_once('yourFileName.php');
可以帮助你