New self vs. new static stackoverflow.com self は記述されたクラスに束縛されるのに対して、static は呼び手のクラスに束縛される。 class A { public static function getSelfName() { return get_class(new self()); } public static function getStaticName() { return get_class(new static()); } } class B extends A { public static function getParentName() { return get_class(new parent()); } } echo A::getSelfName(),PHP_EOL; //A echo B::getSelfName