我正在编写一些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
{
我已确认文件已正确加载。
我错过了什么?
答案 0 :(得分:4)
尝试这样称呼:
$r = new Rating\Rating($teamA,$teamB,1,0);
或者,或者从Rating类中删除命名空间。
您的主要代码位于根命名空间&#34; \&#34;,因此您必须告诉它您想要进入Rating命名空间。
您也可以将use Rating;
放在索引文件的顶部,而不是在类名之前添加命名空间 - 只是不要同时执行这两个操作。