Если не хочешь быть первым - не вставай в очередь!
Вот тут уже обсуждали очень очень похожий вопрос и ответ на него. Я думаю, что объявить "абстрактное свойство" - никак. Возможно Вам поможет либо "классическое" наследование, либо Трейты.
Пример:
trait Trait1
{
protected $x = 10;
abstract public function y();
}
class Class1 {
use Trait1;
public function y() {
print $this->x;
}
}
$class1 = new Class1();
$class1->y();