Mam do czynienia z problemem, którego niestety nie udało mi się rozwiązać do tej pory. I stworzył database class
do app/db/mysql/database.php
o następującej treści:Nazwy PHP Nie znaleziono 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']);
}
}
Korzystanie kompozytora, jestem samoładownicze tej klasy:
{
"autoload" : {
"classmap" : [
"app/libraries",
"app/db"
]
}
}
wytwarzających autoload_classmap.php
takich jak:
return array(
'App\\Database\\Database' => $baseDir . '/app/db/mysql/database.php',
'App\\Libraries\\Parser' => $baseDir . '/app/libraries/Parser.php',
);
teraz , kiedy wszystko działa poprawnie, zawsze otrzymuję błąd związany z PDO:
Fatal error: Class 'App\Database\PDO' not found in /var/www/my_application/app/db/mysql/database.php on line 24
Myślę, że problem pochodzi z namespace
, ponieważ po umieszczeniu klasy na stronie indeksu, nie mam żadnego błędu. PDO jest zainstalowany i działa.
Och, widzę, że sam to rozwiązałeś. Usuwanie mojej odpowiedzi –
@DamienPirsy lepiej ją przywrócić. Należy skasować całe pytanie lub uzyskać odpowiedź, aby ograniczyć liczbę pytań, na które nie ma odpowiedzi. –
Usunięcie tego pytania brzmi dla mnie lepiej (ponieważ można było tego uniknąć w pierwszej kolejności), lub OP może udzielić sobie odpowiedzi i automatycznie ją zatwierdzić. –