簡體   English   中英

如何從php中的另一個類文件調用函數

[英]How to call function from another class file in php

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

就像BrianDHall說,你的工作,你需要更換echoreturn

您的代碼有兩個問題:

1)響應數組應聲明為INSIDE函數(但是如果你需要從類中的其他地方訪問它,請聲明它並將其用作INSIDE類的類屬性);

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;
  }
}

你不應該在函數中回顯總是使用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;

  ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM