coreにあるクラスのオーバーライドは

2013年7月25日 at 17:35

/concrete/core/controllersの下にあるPHPのファイルに変更を加える場合、

/coreが無いので、/controllersの下にコピーして変更すればできますでしょうか?

タグ:

Re: coreにあるクラスのオーバーライドは

2013年7月25日 at 19:59
coreのクラスはオーバーライド不可です。
というか、直接的には使われていません。concreteフォルダ内のPHPファイルの継承元になっているだけです。
例えば、シングルページのlogin.phpのコントローラーは、このように LoginController クラスは Concrete5_Controller_Login クラスを継承していて、 Concrete5_Controller_Login クラスは core フォルダ内にあります。

concrete/controllers/login.php
class LoginController extends Concrete5_Controller_Login {


concrete/core/controllers/single_pages/login.php
class Concrete5_Controller_Login extends Controller {


Concrete5_Controller_Login クラスをオーバーライドすることはできません。LoginController クラスをオーバーライドします。

controllers/login.php
class LoginController extends Concrete5_Controller_Login {

// メソッドを上書きしたり、新しいメソッドを追加したり

}