2013-12-21 77 views
0

我在PHP中找不到類的問題。包含的PHP類未找到

我做的第一件事是'require_once'文件'require_once'的所有其他文件。裝載時,不會顯示任何問題。但是,當我開始打電話給我的功能(用戶:: verificate();)我得到以下錯誤:

Fatal error: Class 'Users' not found in /Applications/XAMPP/xamppfiles/htdocs/sparks/dashboard.php on line 4 

爲了測試我添加了一個簡單的類與函數只輸出與回波法的字符串。這是有效的,所以問題必須在這個類中。我這樣稱呼的MySql函數正常工作。

$mySql = new MySql(); 
$mySql->executeQuery('...'); 

簡單類有靜態的靜態函數調用我這樣的(呵呵,這個工程):

simple::launch(); 

在用戶級的我與調用非靜態函數從MySQL類一個靜態函數。這可能是問題嗎?

像這裏的另一個問題SO建議這個問題不是在使用短的PHP開放標籤,而是傳統的PHP開放標籤。

即使有一點提示可以幫助我:)。謝謝你的時間!

編輯: 我從User類添加了一些相關的代碼。這基本上就是這一切的樣子:

<?php 
class Users { 
    public static function authenticate($email, $password) { 
     $mySql = new MySql(); 

     $mySqlResult = $mySql->executeQuery("selectUser", [$email]); 

     ... 
    } 

    public static function isAdmin() { 
     if ($_SESSION['isAdmin']) { 
      return true; 
     } 
     return false; 
    } 
    ... 
} 

編輯2: 我試圖表現出流: 從dashboard.php這是第一行代碼:

<?php 
    require_once('code/init.php'); 
    simple::launch(); 
    if (!Users::verify()) { 
     header("Location: index.php"); 
    } 
?> 

簡單::推出();是我用來測試的代碼。這執行得很好。從這個init.php文件看起來像這樣:

<?php 
session_start(); 

require_once('simple.php'); 
require_once('MySql.php'); 
require_once('Users.php'); 
require_once('Projects.php'); 

文件名是正確的,因爲我得到一個可見的錯誤,當這些錯誤。

dashboard.php存在於根目錄中。從那裏有一個名爲'代碼'的文件夾,其中包含所有這些文件。

+6

你能發佈這個用戶類的相關代碼嗎? – Stoic

+1

此外,只是一個寵物peeve,但'驗證'不是一個字。你正在尋找'驗證'。 –

+0

@Stoic:添加了代碼:) –

回答

0

@MbRostami在評論中給出了建議,使用'get_required_files()'函數來查看包含哪些文件。事實證明,加載了錯誤的文件。

Root 
| dashboard.php 
| users.php 
|- code 
| Users.php 
| init.php 

在的init.php文件Users.php文件(兩個文件都在代碼文件夾)中的溶液必需的。但由於某些原因,來自root的users.php文件被加載。一些奇怪的行爲imho。 Ahwell,這是聖誕節期間要調查的事情。

問題解決了!謝謝!