PHP无法重新声明类-要求错误-Silex框架

PHP无法重新声明类-要求错误-Silex框架,php,class,namespaces,require,redeclaration,Php,Class,Namespaces,Require,Redeclaration,我正在做一个项目,但我有一个非常恼人的问题。我使用一个PHP文件rb.PHP,其中包含项目的几个重要类(RedBean ORM的文件rb.PHP,all-in-one)。 问题是我可以在特殊位置正确使用该文件,但不能在其他位置 这是我的树木园: 当我转到index.php时,一切都很顺利,我可以做require('rb.php') 很好,我想文件一定已经存在了!但如果我对此进行评论,我会有以下错误: Cannot redeclare class RedBeanPHP\RedException

我正在做一个项目,但我有一个非常恼人的问题。我使用一个PHP文件rb.PHP,其中包含项目的几个重要类(RedBean ORM的文件rb.PHP,all-in-one)。 问题是我可以在特殊位置正确使用该文件,但不能在其他位置

这是我的树木园:

当我转到index.php时,一切都很顺利,我可以做
require('rb.php')

很好,我想文件一定已经存在了!但如果我对此进行评论,我会有以下错误:

Cannot redeclare class RedBeanPHP\RedException in C:\wamp64\www\SilexTest\rb.php on line 6737
Class 'App\Controllers\R' not found
这是正常的,因为这个类位于我刚才评论的rb.php文件中

如果我做了一个require,我会重新声明一个类,但是如果我不把它放进去,它就会缺少一个类。
任何帮助都将不胜感激。

因为
rb
已经包含在内,所以不需要在任何地方包含它。要从全局范围使用它,必须使用
\R

$articles = \R::findAll('article');
因为,
R
似乎在全局范围内可用。在这种情况下,您可以使用
use R位于类的顶部,例如:

namespace App\Controllers;

use DDesrosiers\SilexAnnotations\Annotations as SLX;
use Silex\Application;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use R; // <-- Notice this

/**
 * @SLX\Controller(prefix="article")
 */
class ArticleController
{
    // Use: R::findAll('article') in any method in this class
}
namespace-App\Controllers;
使用DDesrosiers\SilexAnnotations\Annotations作为SLX;
使用Silex\应用程序;
使用Symfony\Component\HttpFoundation\Request;
使用Symfony\Component\HttpFoundation\Response;

使用R;// 由于已包含
rb
,因此无需在任何地方包含它。要从全局范围使用它,必须使用
\R

$articles = \R::findAll('article');
因为,
R
似乎在全局范围内可用。在这种情况下,您可以使用
use R位于类的顶部,例如:

namespace App\Controllers;

use DDesrosiers\SilexAnnotations\Annotations as SLX;
use Silex\Application;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use R; // <-- Notice this

/**
 * @SLX\Controller(prefix="article")
 */
class ArticleController
{
    // Use: R::findAll('article') in any method in this class
}
namespace-App\Controllers;
使用DDesrosiers\SilexAnnotations\Annotations作为SLX;
使用Silex\应用程序;
使用Symfony\Component\HttpFoundation\Request;
使用Symfony\Component\HttpFoundation\Response;

使用R;//非常感谢你!我真傻,竟然忘了
使用
哈哈​​:) 非常感谢!我真傻,竟然忘了
使用
哈哈​​:) 谢谢