[英]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.