簡體   English   中英

無法在PHP錯誤中重新聲明類

[英]Cannot redeclare class in PHP error

PHP新手。 使用SLIM框架和路由已通過測試,並且工作正常。 有兩個文件index.php和API.php。 index.php是:

<?php

require 'vendor/autoload.php';
require_once 'API.php';

//Turn on error checking
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

//Create a new SLIM app
$app = new \Slim\Slim();
$app->response->headers->set('Content-Type', 'application/json');


$app->get('/', function() use($app) { 
    $app->response->setStatus(200);
    echo "InstaAPI\n";
});

$app->run();

?>

API是:

<?php

class DbHandler{

    protected static $conn;

    function __construct() {

        //Static self notation is different
        if(!isset(self::$conn)) {
            //same as self.connect
            $this->connect();
        }

    }

    function __destruct(){

        if(isset(self::$conn)){

            self::$conn->close();
        }

    }


    function connect(){

        $config = parse_ini_file('../../config2.ini');

        // Try and connect to the database
        self::$conn = mysqli_connect('localhost',$config['username'],$config['password'],$config['dbname']);

        if(self::$conn===FALSE) {

            header("HTTP/1.1 500 Internal Server Error");
            header("Content-Type: application/json");
            $response = array("Response"=>"Failed to connect to the database");
            echo json_encode($response);
            die();

        }

        else{

            echo "Fine!!";
        }

    }//end connect


}//end class


?>

我收到錯誤: PHP Fatal error: Cannot redeclare class DbHandler in ../API.php on line 62 不知道為什么會這樣。 我正在使用require_once並仍然收到相同的錯誤。 有人可以給我一些指示我可能做錯了什么嗎?

Api.php的代碼少於62行。 看起來下面有多余的代碼。 考慮刪除多余的行

暫無
暫無

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

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