包括,获取“PHP 解析错误:语法错误,意外的'私有'(T_PRIVATE)”


Include, getting "PHP Parse error: syntax error, unexpected 'private' (T_PRIVATE)"

嗨,伙计们在PHP上做过一段时间的事情,但我试图获取一个coreDB.php文件来包含数据库信息并从该文件打开和关闭。

一切正常,但是当我尝试将其包含在另一个文件中时,我总是收到我在标题上放置的错误。

核心数据库文件:

<?php
ini_set('display_errors',1); 
error_reporting(E_ALL);
class ConnectionDB
{
    private $dbhost = "localhost";
    private $dbuser = "user";
    private $dbpass = "password";
    private $dbname = "dbname";
    public $conn;
    public function openDbConnection()
    {
        try
        {   
            $this->conn = new PDO("mysql:host=$this->dbhost;dbname=$this->dbname", $this->dbuser, $this->dbpass);
            echo "Connection Done<br>";
        }
        catch(PDOException $e)
        {
            //var_dump($this->conn);
            //echo $e->getMessage();
        }
    }
    public function closeDbConnection()
    {
        try
        {
            $this->conn = NULL;
            echo "Connection Over";
        }
        catch(PDOException $e)
        {
            //var_dump($this->conn);
            //echo $e->getMessage();
        }
    }
}?>

另一个文件,clientNewRecord.php,其中前一个包括:

<?php
ini_set('display_errors',1); 
error_reporting(E_ALL);
include("coreDB.php");
echo "this is a test";
private $dbConnect = new ConnectionDB();
$this->dbConnect->openDbConnection();
$this->dbConnect->closeDbConnection();?>

我总是收到此错误:PHP 解析错误:语法错误,尝试打开客户端NewRecord时意外的"私有.php

当我尝试运行 $this->dbConnect->openDbConnection() 时,不是要进入该文件并从该文件运行吗?

private $dbConnect = new ConnectionDB();更改为$dbConnect = new ConnectionDB();。访问说明符只允许在类中使用。

正如apokryfos所提到的,你不能在不是类属性的变量上声明访问权限(publicprivateprotected),或者单独声明类函数声明。

所以你只会做:

$dbConnect = new ConnectionDB();
$dbConnect->openDbConnection();
$dbConnect->closeDbConnection();