我有一个Response.php文件,里面有一个函数,我想把这个函数调用到另一个.php文件。
这是Response.php
<?php
include 'connection.php';
$response = array();
class Response_Function{
public function fieldMissing() {
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
$response = json_encode($response);
echo $response;
}
}
?>
这是调用fieldMissing()
函数
<?php
include 'connection';
require_once 'include/Response.php';
$db = new Response_Function();
$response = $db->fieldMissing();
echo $response;
?>
答案 0 :(得分:2)
与BrianDHall一样,在您的函数中,您需要将echo
替换为return
答案 1 :(得分:0)
您的代码存在两个问题:
1)响应数组应该在函数内部声明(但是如果你需要从类中的其他地方访问它,请声明它并将其用作类中的类属性);
2)正如其他人所指出的那样,你的函数的最后一条指令应该返回值而不是打印它。
总而言之,您的Response.php文件应如下所示:
<?php
include 'connection.php';
class Response_Function{
public function fieldMissing() {
$response = array();
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
$response = json_encode($response);
return $response;
}
}
答案 2 :(得分:0)
你不应该在函数中回显总是使用return而是让调用者在任何需要的地方回显。
Response.php
<?php
include 'connection.php';
class Response_Function
{
public $response;
public function fieldMissing() {
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
$this->response = json_encode($response);
}
}
调用函数fieldMissing()
的文件 <?php
include 'connection';
require_once 'include/Response.php';
$db = new Response_Function();
$db->fieldMissing();
$response = json_decode($db->response);
echo $response->message;
?>