![](/img/trans.png)
[英]Prestashop: cannot redeclare class 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.