Yii2のBaseYiiクラスを拡張することは可能ですか?そのため、
Yii::t()
のような静的メソッドを追加できますこのような:
Yii::my_super_method()
?
それについてのドキュメントを本当に見つけることができません、たぶん私はそれを逃しました。
回答 2 件
はい、
BaseYii
を拡張できます クラス。以下に示すnamespace app\models; class ClassName extends \yii\BaseYii { public static function my_super_method() { ...... Here your code ........ } }
次のようにメソッドにアクセスします
app\models\ClassName::my_super_method();
今すぐ
t()
にアクセスしてください 方法app\models\ClassName::t();
関連記事
- タイプ名を使用せずに静的SwiftStructまたはクラス変数を参照するにはどうすればよいですか?
- PHPUnit:別の静的クラスメソッドを使用するクラスメソッドをテストする方法
- 静的な色を格納するクラスを作成するにはどうすればよいですか?
- クラスに静的関数を使用して、初期化を返します
- BlazorWebAssembly 50は、Razorクラスライブラリから静的アセットをロードしません
- クラスオブジェクトを使用してJavaの内部静的クラスにアクセスできないのはなぜですか
- 静的クラスからのgetStringを含むArrayList
- 「クラス」を再開するにはどうすればよいですか。その静的変数
- 単体テストの機能を失うことなく、静的クラスにロギングを追加するにはどうすればよいですか?
- 拡張フラグメントクラスで破損したGoogleマップビュー
これは、独自の
Yii
を作成することにより可能です クラス(プロジェクトのルートなど):そして、それを
index.php
にロードする 代わりに、コアクラス:と
ただし、新しいメソッドを追加するだけの場合あなたはおそらくこれをしないでください。この方法でコアクラスをオーバーライドすることは可能ですが、これはいハックであり、可能な限り避けるべきです。コアクラスをハッキングするよりも、このメソッドを使用して独自のヘルパーを作成することをお勧めします。