2015-12-11 163 views
0

這是我的代碼。我試圖自動加載Sample.php,但我得到的消息:無法加載示例。這段代碼有什麼問題?__autoload功能不起作用

function __autoload($class_name) { 

    if(file_exists($class_name . '.php')) { 
     require_once($class_name . '.php');  
    } 

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

try { 
    $a = new Sample(); 
} 

catch (Exception $e) { 
    echo $e->getMessage(), "\n"; 
} 

Sample.php

Sample { 

echo "This is working."; 

} 
+1

是否示例文件實際上包含一個有效的類定義? –

+0

嗨@MarkBaker,我試圖在鏈接中做到這一點,但仍然無法正常工作。 http://www.codeforest.net/autoload-your-classes-in-php –

+0

你的樣本班有什麼問題。解析錯誤:解析錯誤,期望''函數(T_FUNCTION)「' – SuperBear

回答

0

在__autoload函數直接試試這個代碼

function __autoload($className){ 
    require 'Sample.php'; 
} 

然後告訴我結果。

+0

什麼都沒有發生。它沒有顯示消息:這是行得通的。 –

+0

代碼「$ a = new Sample()」? – rain

+0

是的,我包括 –

0

試試這個Sample類

<?php 
class Sample { 
    function __construct() { 
     echo 'This is working.'; 
    } 
}