2013-04-09 100 views
1

我想我可能會在這裏錯過簡單的東西,需要第二雙眼睛。這失敗了一個致命的錯誤類未找到。自動加載功能取自PSR-0 github頁面。PSR Autoloader功能失敗

<?php 

function my_autoload($className) 
{ 
    $className = ltrim($className, '\\'); 
    $fileName = ''; 
    $namespace = ''; 
    if ($lastNsPos = strrpos($className, '\\')) { 
     $namespace = substr($className, 0, $lastNsPos); 
     $className = substr($className, $lastNsPos + 1); 
     $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR; 
    } 
    $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'; 

    return $fileName; 
} 

spl_autoload_register('my_autoload'); 

new Vendor\Package\Example(); 

這是我的index.php,該類位於供應商/包/ Example.php,這裏是內容。

<?php 

namespace Vendor\Package; 

class Example { 

    public function __construct() { 
     echo __CLASS__ . ' Created with Namespace ' . __NAMESPACE__; 
    } 

} 

當我做這個require_once my_autoload('Vendor\Package\Example');

回答

4

的自動加載功能從PSR-0的GitHub頁面採取它的工作原理。

沒有,on the page沒有return $fileName;require $fileName;

+0

笑感謝,累了:) – 2013-04-09 21:31:12