Re: coreのクラスをパッケージでオーバーライド
2013年10月5日 at 23:50
パッケージの場合は置くだけではダメで、パッケージのcontroller.phpのon_startメソッドで指定する必要があります。
class MyPackage extends Package {
...
public function on_start() {
$env = Environment::get();
$env->overrideCoreByPackage('helpers/file.php', $this);
}
}
ただし、完全ではありません。concrete/dispatcher.php に書かれている処理の中で concrete/startup/packages.php を読み込んでいる部分でパッケージがロードされていますが、それより以前にすでに使われているクラスはオーバーライドするには遅いんです…。Fileヘルパーはそれに該当します。なので、パッケージからのオーバーライドは現状無理のようです。
Your post has been saved and will be published after approval by the forum moderator.
maru
Re: coreのクラスをパッケージでオーバーライド
残念です。
ありがとうございました。