繁体   English   中英

PHP:脚本显示解析语法错误

[英]PHP: Script showing parsing syntax error

我发现了一个似乎无法解决的问题。 我正在使用一个单例类/方法,该类/方法返回一个静态PDO对象。 当我尝试声明对对象的静态引用( http://i.imgur.com/EhKZuVH.png )时,我得到了http://i.imgur.com/jUPMQrO.png 我将如何解决这个问题?

游戏类别:

<?php

    include_once('functions.php');
    include_once('database.php');

    $_codeRegex = '^([a-zA-Z0-9]{4,7})$';

    class Game
    {
        public $Id = "";
        public $Name = "";

        private static $connection = Database::Connect();

        public function __construct($id, $name)
        {
            $this->Id = $id;
            $this->Name = $name;
        }
    }

?>

我的单身班:

<?php

    require_once('config.php');

    CONST CONNECTION_FORMAT = 'mysql:host=%1$s;dbname=%2$s;charset=utf8';

    class Database 
    {
        private static $cont = null;

        public function __construct() {
            exit('Initialize function is not excessible.');
        }

        public static function Connect()
        {
            if (self::$cont == null)
            {      
                try 
                {
                    $pdoConstuct = sprintf(CONNECTION_FORMAT, DB_SERVER, DB_NAME);
                    self::$cont = new PDO($pdoConstuct, DB_USER, DB_PASS);
                    self::$cont->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
                }
                catch(PDOException $e) { return false; }
            }

            return self::$cont;
        }

        public static function Disconnect()
        {
            self::$cont = null;
        }
    }

?>

PHP不是Java,您可以在其中定义这样的属性值。

您可以在这里执行的操作只是将属性初始化放入contructor ,如下所示:

    private static $connection;

    public function __construct($id, $name)
    {
        $this->Id = $id;
        $this->Name = $name;
        self::$connection = Database::Connect();
    }

在PHP中定义类属性时,不能将其默认值设置为类的实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM