php не видит pdo

1. Момору (07.02.2019 / 19:54)
<?php 
	namespace sustem\classes\dbase;
	class db {
		protected static $db;
		protected $obj = '';
		public static function init ($base, $user, $pass = '', $host = 'localhost') {
			try {
				if (is_null (static::$db)) {
					//throw new \Exception ();
					if (static::$db = new \PDO ("mysql:host={$host};dbname={$base};charset=utf8", 
						$user, 
						$pass, 
						[
      				PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
      				PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
    				])
    			) 
    				static::$db -> query ("SET NAMES `utf8`");
				}
			} catch (\PDOException $a) {
				echo $a -> getMessage ();
			} catch (\Exception $a) {
				echo $a -> getMessage ();
			}
		}


Fatal error: Class 'sustem\classes\dbase\PDO' not found in /storage/sdcard1/servers/php/gradient/sustem/classes/dbase/db.php on line 14

Всё перепробовал. Ничего не помогает. Помогите решить.
За ранее благодарен. Спасибо)

2. Момору (07.02.2019 / 20:09)
Решил)
Просто изменил namespace
с sustem\classes\dbase на sustem\classes\PDO
ну и перенёс, и переименовал папки и файлы.
Странным образом всё сразу заработало.
Во всяком случае спасибо за внимание. Вы лучшие. Пакеда всем)

3. ramzes (08.02.2019 / 16:48)
смени еще раз, на system а то глаза режет

4. Вантуз-мен (08.02.2019 / 17:59)
Момору, добавил бы сверху use PDO; и все нормально было
а то ты вначале используешь new \PDO ("mysql:host={$host};dbname={$base};charset=utf8" ...
все правильно, а потом
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
это тоже вызов константы класса и ищет он его не в глобальном пространстве имен, а в текущем

5. php12326 (28.03.2019 / 21:59)
PDO это библиотека встроенная
у меня работает вот так

namespace app\lib;

use PDO;


и ниже подключение к pdo

$this->db = new PDO('mysql:host=...........

URL: https://visavi.net/topics/44141