2016-04-02 16 views
1

私はサッカーチームの間にELOを実装するためのPHPを少し書いています。私はここにあるELOクラスを使用しています:https://github.com/Chovanec/elo-ratingと私はまったくそのコードを変更していません。PHPが読み込まれないクラスを含む

これは私を狂気にさせているものですが、私は明確な何かをはっきりと見逃していますが、何が分かりません。私は、次のしているresults.php:

<?php 
    require_once('Rating.php'); 

そして、それが評価クラスを実装する私に来るとき常にエラーを与えて、コードに行く:

私のPHPファイルでそう

だから、試してみて、バグチェックは、私はすべてのWAを行くために

Fatal error: Class 'Rating' not found in /home/XXXXX/public_html/soccer/results.php on line 65 

$r = new Rating($teamA,$teamB,1,0); 

は、私は次のエラーを取得するにはトップに戻るYと次のようにします。

<?php 
    require_once('Rating.php'); 



    if (class_exists('Rating')) { 
     echo "Found"; 
    } else { 
     echo "Not found"; 
    } 
    die(); 

た私は、「見つかりません」を取得、次のように

Rating.phpファイルが開きするには:

<?php 

/** 
* This class calculates ratings based on the Elo system used in chess. 
* 
* @author Michal Chovanec <[email protected]> 
* @copyright Copyright © 2012 - 2014 Michal Chovanec 
* @license Creative Commons Attribution 4.0 International License 
*/ 

namespace Rating; 

class Rating 
{ 

私が確認されましたファイルが正しくロードされています。

私には何が欠けていますか?

$r = new Rating\Rating($teamA,$teamB,1,0); 

または、交互に、評価クラスから名前空間を削除します。

+0

パスの問題はありませんか? – Chay22

+0

Rating.phpファイルは同じディレクトリにあります。私はそれが見つからないというエラーが出ていることを確認するために名前を変更しました。だから私はファイルがシステムによって発見されることを知っている。 –

+0

'Rating.php'スタートコードを表示してください(Ratingクラスの宣言まで)。名前空間の問題? – fusion3k

答えて

3

はこのようにそれを呼び出してみてください。

あなたのメインコードはルート名前空間 "\"にありますので、評価名前空間に入りたいと言わなければなりません。

インデックスファイルの先頭にuse Rating;を追加して、クラス名の前に名前空間を追加することもできます。両方を行わないでください。

関連する問題