我正在制作一个基本的购物车,我在管理面板中遇到问题,我正在加载文件夹中的所有模块。当我加载每个文件时,PHP 使用一个类来收集模块信息,如名称、类型等。但是当它加载第二个文件时,它会弹出一个“无法在...中重新声明类 module_info”
所以我有点想知道,我怎样才能让它加载所有模块及其信息(通过所有模块使用的 module_info 类)而不显示这个“重新声明”错误。
我试过'include_once'和'require_once'等,甚至没有设置但没有运气。
//module - payment
$modulePAYMENT = "<table class='table_result' cellpadding=\"0\" cellspacing=\"0\">";
$handler = opendir("../includes/modules/payment/");
while ($file = readdir($handler)) {
if ($file != "." && $file != "..") {
if($num == 1) {
$cla = "hvr";
$num = 0;
} else {
$cla = "blu";
$num = 1;
}
//Load Modules Info
include_once("../includes/modules/payment/".$file);
$module_info = new module_info;
//Get Links
if(moduleInstalled($module_info->MODULE_code)) {
$query_MOD = "SELECT * FROM sh_module WHERE code = '".$module_info->MODULE_code."'";
$exe_MOD = mysql_query($query_MOD);
$row = mysql_fetch_array($exe_MOD);
if($row['status']==1) {
$status = "<a class='link_status_enable pointer' onclick='moduleChangeStatus(".$row['mid'].",0)' title='This module is ENABLED. Click to DISABLE it.'>Enabled</a>";
} else {
$status = "<a class='link_status_disable pointer' onclick='moduleChangeStatus(".$row['mid'].",1)' title='This module is DISABLED. Click to ENABLE it.'>Disabled</a>";
}
$module_links = "<a class='link_small_lblue' href='sidebox_edit.php?SideboxID=".$row['sid']."'>Settings</a> <a class='link_small_lblue pointer' onclick='deleteModule(".$row['mid'].")'>Uninstall</a><div class='spacer10'></div>".$status;
} else {
$module_links = "<a class='link_small_lblue pointer' onclick=\"installModule('".urlencode($file)."')\">Install Module</a>";
}
//Add to list
$modulePAYMENT .= "<tr class='{$cla}' id='page_".$row['pid']."'><td><div style='float:left;padding:0;margin:0;' class='text_medium_white'>".$module_info->MODULE_title."<br>{$module_links}</div><div style='float:right;padding:0;margin:0;text-align:right;'></div></td></tr>";
}