Napisałem taki prosty kod i nie wiem jaki błąd w rozumowaniu robię.
Wiem, że __get jest wywoływane, gdy próbujesz pobierać wartość z nieistniejącego atrybutu a __set jest wywoływane, gdy próbujesz ustawiać wartość dla nieistniejącego atrybutu.
I nie rozumie dlaczego takie zapytanie $this->propertyTable['addressid'] = 2; nie powoduje wywołania set.
Proszę o jakiś prosty przykłada jak pracować z tablicami przy metodach __get() i __set()
<?php abstract class foo { function __get($n) { } function __set($n, $v) { } } class a extends foo{ public function __construct($b){ $this->propertyTable['addressid'] = 2; } } $a = new a(2); ?>