簡體   English   中英

PHP不能__autoload類

[英]PHP can not __autoload classes

我有index.php,我保留了__autoload()函數,從lib文件夾中加載類。

 function __autoload($class) {
      if(file_exists(LIBS . $class .".php")){
           require LIBS . $class .".php";
      }
 }

我有一個Dashboard類

 class Dashboard extends Controller {
      public function __construct(){
           Auth::handleLogin();
      }
 }

在Ubuntu 12.04上使用sudo apt-get install php5和apache2我無法自動加載Auth,可能出現什么問題? 它適用於我使用Bitnami XAMPP服務器的其他計算機。

這是我得到的錯誤:

 Fatal error: Class 'Auth' not found in /var/www/app/controllers/dashboard.php on line 6

Auth :: handleLogin(); 被稱為。

您遇到這種情況,因為在linux中,文件系統路徑區分大小寫。

我有linux mint 16,當我做對象聲明時,我使用它與命名空間,它是完美的工作

spl_autoload_register(function ($class) {

    $class = str_replace("\\", "/", $class);

    include $class . '.php';

});

在索引文件中

require_once 'autoload.php';

$db = new DBWork\DBWork('localhost', 'northwind', 'root', '123');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM