[英]php “ Class not found” and “Cannot redeclare class” error
我正在使用Symfony2
用PHP
对网站进行编程。
我在文件MainController.php
定义了一个MainContent
类
而且我不得不在其他名为SecurityController.php
控制器文件中使用此类
尽管这两个类都在同一个名称空间中定义,但它给出了错误:
Class 'MainContent' not found...
所以我试图再次在SecurityController.php
定义该类,但结果是:
Cannot redeclare class 'MainContent...'
我不明白,它是声明还是没有声明。
实际上,我是C#
程序员,也许由于这些语言之间的某些差异而感到困惑。
Symfony使用所谓的自动加载。 由于您的类未在其自己的文件中定义,因此按照自动加载的规则,无法加载它,因此找不到该类。 但是,如果定义了类,则脚本将被成功处理,包括定义该类的其他文件,并且将生成冲突(无法重新声明类)。
可能的解决方案是:
每当您声明课程时,请使用
if(!class_exists('ClassName')) { class ClassName {} }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.