SilverStripeインストールで特定のモジュールをインストールしました。以下は、ここでは、ディレクトリ構造SilverStripeモジュール拡張の拡張
- Root
- framework
- cms
- mymodule
- code
- extensions
- CustomClass.php
である私はCustomClass
クラスのcustomMethod
メソッドをオーバーライドする必要がCustomClass.php
class CustomClass extends Extension {
public function init() {
}
public function customMethod() {
}
}
の一例です。私はこのメソッドを簡単に変更することができますが、ここで変更すると、モジュールが更新されると、将来的にトラブルが発生します。すべての変更は失われます。
このため、モジュールで使用される拡張クラスを拡張したいと思います。
私は拡張子/mysite/extensions/MyCustomClass.php
class MyCustomClass extends Extension {
public function customMethod() {
//do my code here
}
}
を作成しましたが、私はこれをどのように適用するか見当がつかない。私はCustomClass::add_extension("MyCustomClass ")
と考えていましたが、確かにこれは動作しません。add_extension
メソッドがCustomClass
に存在しないためです。
このシナリオにはどのように対処しますか?代わりにインジェクターを使用できますか?はいの場合、_config.yml
の代わりにmysite/_config.php
でどのように呼び出すことができますか?