我使用PHP
使用Symfony2
编制网站。
我在文件MainContent
MainController.php
我必须在名为SecurityController.php
虽然这两个类都在同一个命名空间中定义,但它给出了错误:
Class 'MainContent' not found...
所以我尝试在SecurityController.php
中再次定义类,但结果是:
Cannot redeclare class 'MainContent...'
我不明白,不论是否声明。
事实上我是C#
程序员,也许我因为这些语言之间存在一些差异而感到困惑。
答案 0 :(得分:0)
Symfony使用所谓的自动加载。由于您的类未在其自己的文件中定义,因此遵循自动加载规则,无法加载它,因此找不到该类。但是如果你定义了类,那么脚本会被成功处理,包含定义同一个类的其他文件,并且会生成碰撞(不能重新声明类)。
可能的解决方案是:
每当您宣布课程时,请使用
if(!class_exists('ClassName')) {
class ClassName {}
}