如何从php中的另一个类文件调用函数

时间:2014-01-30 00:42:54

标签: php wamp

我有一个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;
?>

3 个答案:

答案 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;

  ?>