我已經做了__autoload函數像這樣(在autoload.php):「新PDO」 &__autoload功能奇怪的行爲
function __autoload($name) {
$arrName = explode('_', $name);
$typename = strtolower(array_shift($arrName));
$moduleName = strtolower(array_shift($arrName));
if(count($arrName) > 0){
$className = strtolower(array_shift($arrName));
} else {
$className = $moduleName;
}
$location = '' . $typename . '/' . $moduleName . '/' . $className . '.php';
include_once($location);
}
(我與MVC(模型 - 視圖 - 控制器)結構工作)。
我打電話了 「新PDO」(在database.php中):
private static $pdo;
private static function getDB() {
self::$pdo = new PDO("mysql:host=localhost;dbname=something",'something','something');
return self::$pdo;
}
它給了我這樣的錯誤:
Warning: include_once(pdo//.php): failed to open stream: No such file or directory in controller/autoload/autoload.php on line 15
Warning: include_once(): Failed opening 'pdo//.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in controller/autoload/autoload.php on line 15
Fatal error: Class 'PDO' not found in controller/core/database.php on line 7
我一直在使用「新的嘗試\ PDO「,但這並沒有改變任何東西。 我也嘗試使用「使用PDO」,但那給了我更多的錯誤,也許我用它錯了。
謝謝。
PDO沒有_,因此您可以使用自動裝載機將PD從PDO陣列中移出並處理很多其他問題。在包含它之前,您可能需要檢查$ location是否是一個文件('is_file()')。如果成功則返回true或false。 – Luceos
更進一步,不要忘記檢查file_exist是否包含它 – dev
謝謝,這幫助了很多,我現在看到的唯一的問題是類「PDO」沒有找到..但我會盡力找出它。 –