1--TEST-- 2Implementing abstract property hooks 3--FILE-- 4<?php 5 6abstract class A { 7 public abstract $prop1 { 8 get; 9 set { echo __METHOD__, "\n"; } 10 } 11 public abstract $prop2 { 12 get { echo __METHOD__, "\n"; } 13 set; 14 } 15 public abstract $prop3 { get; set; } 16} 17 18class B extends A { 19 public $prop1 { 20 get { echo __METHOD__, "\n"; } 21 } 22 public $prop2 { 23 set { echo __METHOD__, "\n"; } 24 } 25 public $prop3; 26} 27 28$b = new B; 29$b->prop1; 30$b->prop1 = 1; 31$b->prop2; 32$b->prop2 = 1; 33$b->prop3; 34$b->prop3 = 1; 35 36?> 37--EXPECT-- 38B::$prop1::get 39A::$prop1::set 40A::$prop2::get 41B::$prop2::set 42