note 127780 added to language.oop5.late-static-bindings

From: Date: Thu, 20 Oct 2022 08:28:02 +0000
Subject: note 127780 added to language.oop5.late-static-bindings
Groups: php.notes 
Request: Send a blank email to php-notes+get-219730@lists.php.net to get a copy of this message
<?php Class 親 { const 親だけが定義 = '親だけが定義'; const 子がオーバーライド = '子がオーバーライドするけど私は親'; public function hoge() { echo 'self::親だけが定義 -> '.self::親だけが定義; echo "\n"; echo 'static::親だけが定義 -> '.static::親だけが定義; echo "\n"; echo 'self::子がオーバーライド -> '.self::子がオーバーライド; echo "\n"; echo 'static::子がオーバーライド -> '.static::子がオーバーライド; } } Class 子 extends 親 { const 子がオーバーライド = '子がオーバーライドしたよ'; } echo "---親---\n"; (new 親())->hoge(); echo "\n\n---子---\n"; (new 子())->hoge(); output: ---親--- self::親だけが定義 -> 親だけが定義 static::親だけが定義 -> 親だけが定義 self::子がオーバーライド -> 子がオーバーライドするけど私は親 static::子がオーバーライド -> 子がオーバーライドするけど私は親 ---子--- self::親だけが定義 -> 親だけが定義 static::親だけが定義 -> 親だけが定義 self::子がオーバーライド -> 子がオーバーライドするけど私は親 ← selfだとオーバーライドしても反映されない static::子がオーバーライド -> 子がオーバーライドしたよ ---- Server IP: 45.112.84.4 Probable Submitter: 45.91.159.161 (proxied: 113.149.117.186) ---- Manual Page -- https://php.net/manual/en/language.oop5.late-static-bindings.php Edit -- https://main.php.net/note/edit/127780 Del: integrated -- https://main.php.net/note/delete/127780/integrated Del: useless -- https://main.php.net/note/delete/127780/useless Del: bad code -- https://main.php.net/note/delete/127780/bad+code Del: spam -- https://main.php.net/note/delete/127780/spam Del: non-english -- https://main.php.net/note/delete/127780/non-english Del: in docs -- https://main.php.net/note/delete/127780/in+docs Del: other reasons-- https://main.php.net/note/delete/127780 Reject -- https://main.php.net/note/reject/127780 Search -- https://main.php.net/manage/user-notes.php

« previous php.notes (#219730) next »