ええと、この投稿のタイトルが正しいかどうかはわかりません。お気軽に変更してください。
わかりました、これは私のシナリオです:
pluginA.php
function info(){
return "Plugin A";
}
pluginB.php
function info(){
return "Plugin B";
}
最後に、すべてのプラグイン情報をプール配列にインポートすることを担当するプラグインマネージャーがあります:
Manager.php
class Manager
{
protected $pool;
public function loadPluginsInfo()
{
$plugin_names = array("pluginA.php", "pluginB.php");
foreach ($plugin_names as $name)
{
include_once $name;
$this->pool[] = info();
}
}
}
ここでの問題は、プール配列を印刷すると、ロードされた最初のプラグインに関する情報しか表示されないことです。最初のインクルードからinfo()メソッドを呼び出しているため、インクルードファイルは情報をオーバーライドすると思いました。
すべてのプラグインファイルに同じ名前のinfo()関数を持つ両方のプラグインの情報を含める方法はありますか?
前もって感謝します
PS:致命的なエラーを再宣言することはできません