2012年2月 5日

[PHP-users 35659]unexpected T_STRING, expecting T_VARIABLEについて

里村と申します。

Codezineに掲載されているPDOのクラスを元にpostgresqlへ接続するクラスを作っているのですが、
どうも下記コードで掲題のパースエラーが発生してしまいます。あれこれドキュメントを見てみたのですがどこがエラーなのかわからず、途方にくれております。

初歩的なミスのような気がするのですが、助言いただけないでしょうか。
コードは下記のとおりです。

php -l pdo.phpとして実行すると、

"PHP Parse error: syntax error, unexpected T_STRING, expecting
T_VARIABLE in cz_pdo.php on line 21
Errors parsing cz_pdo.php"
というエラーが起きます。

21行目というと private static initDb(PDO $pdo){ の部分なのですが、何を見落としているのか見当がつきません。
環境はScientific Linux 5.7 / PHP5.3.3です。

<?php
class PDO {

private static $user = "foo";
private static $password = "bar";
private static $dbname = "mydb";
private static $port = "5432";
private static $host = "192.0.2.1";
private static $dsn = "pgsql:";
private static $options = array(
PDO::ATTR_PERSISTENT => true,
);

public static function getConnection(){
$pdo = new PDO("self::$dsn host=self::$host;
dbname=self::$dbname; port=self::$self", self::$user, self::$password,
self::$options);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
self::initDb($pdo);
return $pdo;
}

private static initDb(PDO $pdo){
try {
$pdo->exec(file_get_contents(dirname(__FILE__) . "/db-schema.sql"));
} catch (PDOException $e) {
var_dump($e->getMessage());
}
}
}
?>
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2012年2月 5日 08:39
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/108478
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。