【问题标题】: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 仅在类/特征内有效。

标签: php private


【解决方案1】:

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

【讨论】:

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

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

所以你会这样做:

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

【讨论】:

    猜你喜欢
    • 2018-09-28
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2022-12-13
    • 2022-08-22
    • 1970-01-01
    • 2022-10-05
    • 1970-01-01
    相关资源
    最近更新 更多