2015-10-04 61 views
0

我有自動加載功能的奇怪問題。PHP的自動加載功能不起作用 - wamp

我的結構是這樣的

Project 
| 
+-- test.php 
|  
+-- class 
| | 
| +-- class.news.php 

我有這樣的代碼:

function __autoload($class_name) { 

if(file_exists('class/class.'.strtolower($class_name).'.php')){ 

require_once('class/class.'.strtolower($class_name).'.php'); 

} else { 

throw new Exception("Unable to load $class_name."); 

} 
    } 

try { 

$a = new News(); 

} catch (Exception $e) { 

echo $e->getMessage(), "\n"; 

} 

我得到

Fatal error: Class 'News' not found 

文件class.news.php

class News{ 
    function insert($request){ 
     return "ok"; 
     } 
    } 

IM在Windows 10

+0

你嘗試'$ A =新的新聞;'? –

回答

0

使用文檔根目錄運行此WAMP的服務器上,以避免與相對路徑的問題:

$prefix = $_SERVER['DOCUMENT_ROOT'] . '/class/class.'; 
$filename = $prefix . strtolower($class_name) . '.php'; 
if(file_exists($prefix)){ 
    require_once($prefix); 
} 
+0

不要做差異,如果我檢查文件存在,其存在,與文檔根或沒有我仍然有相同的錯誤。 – pagewww

+0

調用新消息()的文件是否包含_autoload? – user2182349