13
我正面临着一个我迄今为止不能解决的问题。我创建了一个database class
到app/db/mysql/database.php
具有以下内容:找不到PHP命名空间PDO
<?php
namespace App\Database;
use Symfony\Component\Yaml\Yaml;
class Database{
private static $connection = null;
private function __construct($host, $base, $user, $pass){
try{
self::$connection = new PDO("mysql:host=$host;dbname=$base", $user, $pass);
}catch(PDOException $e){
die($e->getMessage());
}
}
public static function get(){
if(self::$connection !== null){
return self::$connection;
}
$yaml = Yaml::parse(file_get_contents(realpath('./app') . '/database.yml'));
self::$connection = new Database($yaml['host'], $yaml['base'], $yaml['user'], $yaml['pass']);
}
}
使用作曲家,我自动加载这个类:
{
"autoload" : {
"classmap" : [
"app/libraries",
"app/db"
]
}
}
其中产生autoload_classmap.php
如:
return array(
'App\\Database\\Database' => $baseDir . '/app/db/mysql/database.php',
'App\\Libraries\\Parser' => $baseDir . '/app/libraries/Parser.php',
);
现在,当一切正常,我总是得到一个与PDO有关的错误:
Fatal error: Class 'App\Database\PDO' not found in /var/www/my_application/app/db/mysql/database.php on line 24
我认为问题来自namespace
因为当我把类放入索引页时,我没有任何错误。 PDO已安装并正常工作。
哦,我看到你自己解决了。删除我的回答 –
@DamienPirsy更好地恢复它。无论是整个问题都必须删除或有答案,以减少未回答的问题列表。 –
删除这个问题对我来说听起来更好听(因为它本来可以避免的),或者OP可以提供自己的答案并自动接受它 –