2016-09-28 4 views
3

yii\db\ActiveQueryを独自のクラスに拡張または置き換え、アプリケーション全体で使用したいと考えています。Yii2コアクラスの拡張または置き換え

これは、this GitHub issueの下部にあるCedricYiiによって参照される@alias機能を持ち込むためのものです。

変更された機能の一部の性質上、私はおそらくそれを置き換える必要があります。

これは可能ですか?または、リポジトリをフォークする必要がありますか?

答えて

3

これにはDependency Injection Containerを使用してください。

は、アプリケーションのブートストラップコードに書き留め:見事に働いた

Yii::$container->set('yii\db\ActiveQuery', 'app\components\ActiveQuery'); 
+1

おかげで、! – Arth

+0

なぜCore Validatorで動作しなかったのでしょうか? Yii :: $ container-> set( 'yii \ validators \ Validator'、 'app \ components \ Validator'); – SenG

+0

これは「拡張する」か、クラスを置き換えるだけですか?これは 'Yii :: $ classMap ['yii \ db \ ActiveQuery'] = '@ common/components/ActiveQuery.php';と設定するのと同じですか? – friek108

関連する問題