PHP未加载包括类

时间:2016-04-02 15:33:00

标签: php class

我正在编写一些PHP来在足球队之间实施ELO。我正在使用此处找到的ELO类:https://github.com/Chovanec/elo-rating而我根本不修改该代码。

这是让我疯狂的事情,我显然错过了一些显而易见的东西,但我不知道是什么。

所以在我的PHP文件中:results.php我有以下内容:

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

然后它会进入代码,在我实现Rating class时总是会出错:

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

我收到以下错误:

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

所以,为了尝试和错误检查,我一直回到顶部并使用以下内容:

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



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

我得到了&#34;未找到&#34;

Rating.php文件打开如下:

<?php

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

namespace Rating;

class Rating
{

我已确认文件已正确加载。

我错过了什么?

1 个答案:

答案 0 :(得分:4)

尝试这样称呼:

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

或者,或者从Rating类中删除命名空间。

您的主要代码位于根命名空间&#34; \&#34;,因此您必须告诉它您想要进入Rating命名空间。

您也可以将use Rating;放在索引文件的顶部,而不是在类名之前添加命名空间 - 只是不要同时执行这两个操作。