包括,得到“PHP Parse error: syntax error, unexpected 'private' (T_PRIVATE)”

Posted

技术标签:

【中文标题】包括,得到“PHP Parse error: syntax error, unexpected \'private\' (T_PRIVATE)”【英文标题】:Include, getting "PHP Parse error: syntax error, unexpected 'private' (T_PRIVATE)"包括,得到“PHP Parse error: syntax error, unexpected 'private' (T_PRIVATE)” 【发布时间】:2016-06-17 03:14:29 【问题描述】:

大家好,在 php 上做一些事情已经有一段时间了,但我试图获取一个 coreDB.php 文件来获取数据库信息并从这个文件中打开和关闭。

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

coreDB 文件:

<?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,前一个是include:

<?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 Parse error: syntax error, unexpected 'private' when trying to open the clientNewRecord.php

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

【问题讨论】:

private 仅在类/特征内有效。 【参考方案1】:

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

【讨论】:

谢谢 :D 它现在可以工作了……这是我很长一段时间没有使用 php 得到的结果 哈哈哈.. 是的,伙计,你是对的.. 发生了,但不知何故恢复是可能的 :).. 永远欢迎你..【参考方案2】:

正如 apokryfos 所述,您不能对非类属性(或单独在类函数声明中)的变量声明访问权限(publicprivateprotected)。

所以你会这样做:

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

【讨论】:

以上是关于包括,得到“PHP Parse error: syntax error, unexpected 'private' (T_PRIVATE)”的主要内容,如果未能解决你的问题,请参考以下文章

用jquery语言计算输入一个日期后,得到n天后的日期,包括时分秒!

后端参数校验器v1.0(调用一个方法校验所有参数并得到校验结果,且包括错误原因)

如何列出所有 DNS 记录,包括 DANE TLSA

Sequelize - 仅包括找到一个结果

C语言:如何得到指定地址的文件夹中所有文件的文件名和其修改时间 包括子文件内的

将小端转换为大端,包括 0(零)