問題タブ [late-static-binding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
54 参照

php - 定数とメソッドのどちらを使用するのがよいでしょうか? (継承、静的、Php、または任意の OOP)

基本クラス:

それから2つのクラス:

.

それが1つの解決策です。次のように書き換えることができます。

.

.

どちらのバージョンが優れているのですか?なぜですか?

編集:

私は2番目に投票します:短いです。しかし、定数の遅延静的バインディングがないJavaでどのように実行できるかは興味深い

0 投票する
1 に答える
569 参照

php - 子オブジェクトの静的変数を抽象親クラスphpから設定解除します

私は Laravel を使用しており、それは Validators です。

コントローラーに次のコードがあります。

UserCreateValidator は、親 Validator クラスを拡張します。

そして、これがベース Validator クラスです。

インの設定解除が機能static::$rules[$key]ResellerControllerません。

XDEBUGセッション (この行が実行された後)で、 as プロパティstatic::$rules['company']にまだ存在することがわかります。UserCreateValidator

Late Static Bindingがこの問題を解決するはずだと思いましたか? なにが問題ですか?

0 投票する
1 に答える
138 参照

php - PHPの可変変数を使用して、継承されたクラスで静的バインディングを遅らせるにはどうすればよいですか

問題は、A、B、C の 3 つのクラスがあるとします。B と C は A から継承します。

何らかの理由で、B と C の id の名前が異なります。B は id_B、C は id_C です。クラス A は一種のインターフェースであるため、継承されたクラス B と C が変数 $id を持つ必要があることを知っているだけです。A は $id を 1 に更新したいと考えています。私が望んでいるのは、$id_B と $id_C を 1 に更新しようとすることです。変数変数を次のように設定するなど、いくつかの方法を試しました。

しかし、うまくいきません。では、この設計を解決するのを手伝ってくれる人はいますか?

0 投票する
1 に答える
240 参照

append - SQLクエリ内に静的変数を追加する

挿入中に遅延静的バインディングの概念を使用しようとしていますが、このステートメントを書いているときに構文エラーが発生します: PHP バージョン 5.3.8 を使用しています

0 投票する
1 に答える
36 参照

late-static-binding - 別のクラスで遅延静的バインディング変数を使用する

遅延静的バインディングの概念を使用した SQL クエリを作成するためのクラスを作成しました。別のクラスでその挿入メソッドを呼び出して、ここに値を挿入しようとしています sqlQuery クラスです

そして、これは私がやろうとしている最初のクラスから挿入メソッドを使用している私の2番目のクラスファイルです.後期静的バインディングを使用してこのクラスからテーブル名と列を取得します....どうすればこれを行うことができますか...ここに私の2番目のクラスファイルがあります

0 投票する
1 に答える
34 参照

php - 遅延静的バインディング用の関数の複製

私は遅い静的バインディングについて頭を悩ませようとしています.いくつかのスタックオーバーフローの質問とマニュアルを読むことで、私が見つけたすべての例(マニュアルを含む)で、メソッドクラス名を直接エコーするものは、子クラスで複製されます。

私の理解では、別のクラスから拡張されたクラスは、その親のすべてのメソッドとプロパティを継承します。したがって、PHP マニュアルの遅延静的バインディングの例で who() メソッドが重複しているのはなぜですか。それがないと、親クラスがエコーされることに気づきましたが、その理由はわかりません。

マニュアルのコードを参照してください...

who() メソッドを書き直す必要があるのはなぜですか。同じでなければならないと思いますか? 前もって感謝します。

0 投票する
1 に答える
622 参照

php - トレイトの static::$property は、クラスではなくトレイトにバインドされたデータを返します

staticキーワードが特性で何を返すのか疑問に思っていましたか? それを使用するクラスではなく、特性にバインドされているようです。例えば:

メソッドの厄介な部分で動作させることができeval()ましたmethod()

今は単純に照合しますが、最初にトレイトで定義され、それを使用するクラスに正しくバインドされ\My\Namespaced\Class::$returnedた静的プロパティ をチェックするのも奇妙です。$returnedでは、なぜうまくいかないのstatic::$returnedでしょうか?

PHP のバージョンは 5.6.10 です。