您好,我嘗試在我的laravel項目中包含某個文件中的某些類時遇到了一個奇怪的問題。這是文件:找不到類/無法重新聲明類
<?php namespace Libraries\MPowerLib;
require("mpower/dependency_check.php");
set_include_path(get_include_path() . PATH_SEPARATOR . realpath(dirname(__FILE__)));
abstract class MPower {
const VERSION = "1.2.0";
}
if (strnatcmp(phpversion(),'5.3.0') >= 0) {
define('JSON_ENCODE_PARAM_SUPPORT', true);
}else{
define('JSON_ENCODE_PARAM_SUPPORT', false);
}
require_once("mpower/setup.php");
require_once("mpower/customdata.php");
require_once("mpower/checkout.php");
require_once("mpower/checkout/store.php");
require_once("mpower/checkout/checkout_invoice.php");
require_once("mpower/checkout/onsite_invoice.php");
require_once("mpower/direct_pay.php");
require_once("mpower/direct_card.php");
require_once("mpower/libraries/Requests.php");
require_once("mpower/utilities.php");
現在,當我使用require_once我得到:
Class 'Libraries\MPowerLib\MPower_Checkout_Invoice' not found
然而,當我只是需要它的工作原理使用,但我不斷收到此錯誤:
Cannot redeclare class libraries\mpowerlib\mpower_checkout
我我完全爲此感到困惑,曾嘗試使用include和include_once代碼,但仍然沒有改變。
「redeclare問題」意味着您多次加載班級。 我推薦你使用'composer',它爲你處理所有的自動加載。而且,Laravel默認支持它。你遇到過這個問題嗎? 重現錯誤的最小代碼是什麼? – 2015-04-02 14:12:09
我確實使用作曲家,但我仍然遇到這個問題 – user3718908 2015-04-02 15:00:27
最小編碼?爲了重現錯誤,您需要庫本身來嘗試幷包含在您的測試應用程序中。 – user3718908 2015-04-02 15:11:06