簡體   English   中英

PHP致命錯誤:無法在以下位置重新聲明類AdminImportControllerCore

[英]PHP Fatal error: Cannot redeclare class AdminImportControllerCore in

我有一個帶cURL的腳本,可以啟動其他腳本來導入prestashop中的產品和類別。

這是以cURL開頭的腳本:

define('_PS_ADMIN_DIR_', getcwd());
include_once(_PS_ADMIN_DIR_.'/../config/config.inc.php');
include_once(_PS_ADMIN_DIR_.'/../config/defines.inc.php');
include_once(_PS_ADMIN_DIR_.'/functions.php');
include_once dirname(__FILE__).'/../controllers/admin/AdminImportController.php';

if (!isset($_GET['entity'])) die(); 

$import = New AdminImportController(); 
switch ($_GET['entity']) { 
case 0: 
    loadCategoriesPost(); 
    $import->categoryImport(); 
    break;

  case 1:
    loadProductsPost();
    $import->productImport();
    break;

}

我的問題是秒腳本從“ include_once dirname( FILE )。'/ .. / controllers / admin / Admin / AdminImportController.php';”產生錯誤:

PHP致命錯誤:無法在...中重新聲明類AdminImportControllerCore。

我嘗試使用include_once, DIR ,我也在包含文件中尋找了一個帶有“ new AdminImportController();”的行。 但我什么也沒發現。

謝謝!

查看AdminImportController.php文件的內部。 我的猜測是, 也包括定義文件AdminImportControllerCore類,而且它沒有使用include_once真理的包括功能。

這意味着您的主頁正在通過include_once調用定義該類,然后當它包含AdminImportController類時,其中的include將啟動,並嘗試使用您描述的結果重新定義核心類。

我建議您研究一下PHP的自動加載器功能 這樣可以避免與手動包含此類文件有關的所有麻煩。 它還傾向於促進良好的文件和類命名慣例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM