PHP无法重新声明类-要求错误-Silex框架
我正在做一个项目,但我有一个非常恼人的问题。我使用一个PHP文件rb.PHP,其中包含项目的几个重要类(RedBean ORM的文件rb.PHP,all-in-one)。 问题是我可以在特殊位置正确使用该文件,但不能在其他位置 这是我的树木园: 当我转到index.php时,一切都很顺利,我可以做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
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;//非常感谢你!我真傻,竟然忘了使用
哈哈:) 非常感谢!我真傻,竟然忘了使用
哈哈:) 谢谢