class A {
public $myField = "A";
}
class B extends A {
function __construct() {
$this->myField = "B"; // My IDE complains 'Field declared dynamically'
}
}
私はPHP 7.0.18を使用し、最近PhpStorm 2016からPhpStorm 2017.2を私のIDEとしてアップグレードしました。PHPの可視性 - 親クラスの公開フィールド
私はアップグレードして以来、IDEは親クラスで宣言されているフィールドにはアクセスできず、したがって動的に宣言されていると不平を言っています - 実行時には何の違いもありませんが、 PhpStorm 2017のバグか、これまでPHPのフィールドの可視性を誤解していました。
__construct()の前には 'function'がなく、' B'は 'Aを拡張しませんか?もしそうでなければ、PHPStormは実際には正しいです – giorgio