语法错误,意外的 '',期望 'function'

Syntax error, unexpected '', expecting 'function'

我正在使用 Ecplise,我遇到了奇怪的语法错误,它说有四个错误,每个错误都位于每个函数声明之前的行(构造函数除外)。我真的不知道它是从哪里来的,我检查了每一行,但没有看到“{}”或“;”问题...

<?php
require_once('SqliteConnection.php');
class TrajetDAO {
private static $dao;

private function __construct() {
}​
public final static function getInstance() {
    if(!isset(self::$dao)) {
        self::$dao= new TrajetDAO();
    }
    return self::$dao;
}
​
public final function findAll() {
    $dbc = SqliteConnection::getInstance()->getConnection();
    $query = "select * from Trajet order by num";
    $stmt = $dbc->query($query);
    $results = $stmt->fetchALL(PDO::FETCH_CLASS, ’Trajet’);
    return $results;
}
​
public final function insert(DataObject $st){
    if($st instanceof Trajet){
        $dbc = SqliteConnection::getInstance()->getConnection();
        // prepare the SQL statement
        $query = "insert into Trajet(num, description, dateCrea) values (:n,:de,:da)";
        $stmt = $dbc->prepare($query);

        // bind the paramaters
        $stmt->bindValue(":n",$st->getNum(),PDO::PARAM_STR);
        $stmt->bindValue(":de",$st->getDescription(),PDO::PARAM_STR);
        $stmt->bindValue(":da",$st->getdateCrea(),PDO::PARAM_STR);
        // execute the prepared statement
        $stmt->execute($data);
    }
}

public function delete(DataObject $obj) {
    $dbc = SqliteConnection::getInstance()->getConnection();
    $query = $dbConnection->prepare('DELETE FROM Trajet WHERE num='.$Trajet->getNum().';');
    $query->execute();
}
​
public function update(DataObject $obj) {
    $dbc = SqliteConnection::getInstance()->getConnection();
    $query=$dbConnection->prepare('UPDATE Trajet SET num='.$Trajet->getNum().',description='.$Trajet->getDescription().',dateCrea='.$teacher->getDateCrea(). 'WHERE num='.$Trajet->getNum().';');
    $query->execute();
}
}
?>

我也和评论者一样认为这是一个隐形角色的问题。通过删除和替换语法错误附近的字符,我至少在 PHPStorm 中设法摆脱了所有这些错误。

如果您自己编写了这段代码,您可能需要查看您的设置以找到根本原因。

<?php
require_once('SqliteConnection.php');
class TrajetDAO {
    private static $dao;

    private function __construct()
    {
    }

    public final static function getInstance()
    {
        if (!isset(self::$dao)) {
            self::$dao = new TrajetDAO();
        }

        return self::$dao;
    }

    public final function findAll()
    {
        $dbc = SqliteConnection::getInstance()->getConnection();
        $query = "select * from Trajet order by num";
        $stmt = $dbc->query($query);
        $results = $stmt->fetchALL(PDO::FETCH_CLASS, `Trajet`);

        return $results;
    }

    public final function insert(DataObject $st){
        if($st instanceof Trajet){
            $dbc = SqliteConnection::getInstance()->getConnection();
            // prepare the SQL statement
            $query = "insert into Trajet(num, description, dateCrea) values (:n,:de,:da)";
            $stmt = $dbc->prepare($query);

            // bind the paramaters
            $stmt->bindValue(":n",$st->getNum(),PDO::PARAM_STR);
            $stmt->bindValue(":de",$st->getDescription(),PDO::PARAM_STR);
            $stmt->bindValue(":da",$st->getdateCrea(),PDO::PARAM_STR);
            // execute the prepared statement
            $stmt->execute($data);
        }
    }

    public function delete(DataObject $obj) {
        $dbc = SqliteConnection::getInstance()->getConnection();
        $query = $dbConnection->prepare('DELETE FROM Trajet WHERE num='.$Trajet->getNum().';');
        $query->execute();
    }

    public function update(DataObject $obj) {
        $dbc = SqliteConnection::getInstance()->getConnection();
        $query=$dbConnection->prepare('UPDATE Trajet SET num='.$Trajet->getNum().',description='.$Trajet->getDescription().',dateCrea='.$teacher->getDateCrea(). 'WHERE num='.$Trajet->getNum().';');
        $query->execute();
    }
}