[解決済み] 新しい自分vs.新しい静止画
2022-03-18 09:57:07
質問
PHP 5.3 のライブラリを PHP 5.2 で動作するように変換しています。主に、以下のような遅い静的バインディングを使用していることが障害となっています。
return new static($options);
これを
return new self($options)
は、同じ結果になるのでしょうか?
とはどのような違いがあるのでしょうか?
new self
と
new static
?
解決方法は?
<ブロッククオート同じ結果になるのでしょうか?
そうでもないです。PHP 5.2での回避策は知らないのですが。
とはどのような違いがあるのでしょうか?
new self
とnew static
?
self
は、その中の同じクラスを参照しています。
new
というキーワードが実際に書かれています。
static
PHP 5.3 の後期静的バインディングでは、メソッドをコールした階層内の任意のクラスを参照します。
次の例では
B
から両方のメソッドを継承しています。
A
. また
self
の呼び出しをバインドしています。
A
で定義されているからです。
A
は最初のメソッドの実装であるのに対し
static
は呼び出されたクラスにバインドされています (また
get_called_class()
).
class A {
public static function get_self() {
return new self();
}
public static function get_static() {
return new static();
}
}
class B extends A {}
echo get_class(B::get_self()); // A
echo get_class(B::get_static()); // B
echo get_class(A::get_self()); // A
echo get_class(A::get_static()); // A
関連
-
[解決済み] コマンドの同期がとれていない。
-
[解決済み】Apache + PHPで「ヘッダの前にスクリプトの出力が終了する」件
-
[解決済み】Chrome net::ERR_INCOMPLETE_CHUNKED_ENCODING エラーが発生しました。
-
[解決済み] 入力ファイルが指定されていない
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み] どのような場合に '$this' よりも 'self' を使うべきですか?
-
[解決済み] 静的クラスとシングルトンパターンの違い?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】「初期通信パケットの読み込み」でMySQLサーバーに接続できなくなり、システムエラーになる。0
-
[解決済み】未定義のメソッド mysqli_stmt::get_result を呼び出す。
-
[解決済み】メッセージ。Trying to access array offset on value of type null [重複]配列のオフセットにアクセスしようとしています。
-
[解決済み] Uncaught SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み] PHPの配列を別の配列にコピーする関数はありますか?
-
[解決済み] PHP product.php?id=1 のような URL を作成する方法
-
[解決済み] どのような場合に '$this' よりも 'self' を使うべきですか?
-
[解決済み] PHP 5: const と static の違い
-
[解決済み] PHPのself::$barとstatic::$barの違いは何ですか?