проблем с namespace и framework

vasilev

Registered
здравейте,
опитвам се да си направя framework за да има малко подретба на един сайт който правя..и да се науча.

това е което е в класа за дб:

PHP:
namespace App\Dbmain;

class MyPDO extends PDO {
        public static function exception_handler($exception) {
            die($exception->getMessage());
        }
        public function __construct($dsn, $username='', $password='', $driver_options=array()) {
            set_exception_handler(array(__CLASS__, 'exception_handler'));
            parent::__construct($dsn, $username, $password, $driver_options);
            restore_exception_handler();
        }

}

а така го добавям в индекса:

PHP:
use App\Dbmain as db;
use App\Libraries as Libs;
$dbh = new db\MyPDO('mysqli:host=localhost;dbname=...', '...', '...');

изкарва грешка:
Fatal error: Uncaught Error: Class 'App\Dbmain\MyPDO' not found

а класа си е там.. ако може да ми кажете къде бъркам:)
 
Трябва и да го инклуднеш за да работи. А най-добре е да си напишеш Loader, който да върши тази работа.
 
Инклуднал съм го..не написах целия код извинявай:

PHP:
include('app/dbmain.php');
include('app/libraries.php');

И loader опитах но все тая пак ми изкарва същото. Първо се инклудва после use.. Или няма значение
 
Първо се инклудва и после use, но бъркаш. Неймспейса не знам дали беше задължително, но по принцип трябва да отговаря на директория. Един вид ти трябва да имаш папка Аpp, в нея папка Dbmain и в нея класа MyPDO, ако искаш да отговаря на неймспейса. Другото е че ти трябва да инклуднеш MyPDO.php защото това ти е файла а не dbmain.php.
 

Back
Горе