我正在编写一些 PHP 来实现足球队之间的 ELO。我正在使用此处找到的 ELO 类:https : //github.com/Chovanec/elo-rating并且我根本没有修改该代码。
这是让我发疯的事情,我显然错过了一些明显的东西,但我不知道是什么。
所以在我的 PHP 文件:results.php 我有以下内容:
<?php
require_once('Rating.php');
Run Code Online (Sandbox Code Playgroud)
然后它进入代码,在我实现 Rating 类时总是给出错误:
$r = new Rating($teamA,$teamB,1,0);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Fatal error: Class 'Rating' not found in /home/XXXXX/public_html/soccer/results.php on line 65
Run Code Online (Sandbox Code Playgroud)
因此,为了尝试检查错误,我一直回到顶部并使用以下内容:
<?php
require_once('Rating.php');
if (class_exists('Rating')) {
echo "Found";
} else {
echo "Not found";
}
die();
Run Code Online (Sandbox Code Playgroud)
我得到“未找到”
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
{
Run Code Online (Sandbox Code Playgroud)
我已确认文件已正确加载。
我错过了什么?
试着这样称呼它:
$r = new Rating\Rating($teamA,$teamB,1,0);
Run Code Online (Sandbox Code Playgroud)
或者,从 Rating 类中删除命名空间。
您的主要代码位于根命名空间“\”中,因此您必须告诉它您想要进入 Rating 命名空间。
您也可以放在use Rating;索引文件的顶部,而不是在类名之前添加命名空间 - 只是不要两者都做。
| 归档时间: |
|
| 查看次数: |
686 次 |
| 最近记录: |