1) var - не используйте это ключевое слово. Используйте public. А еще лучше - private.
2) инкапсуляция, закон деметры. Не меняйте состояние объектов напрямую. Используйте сообщения (вызовы методов).
3) вот эти свистоплязки с динамическим созданием имен переменных лишены всякого смысла
4) имена классов, свойств, методов и вообще должны быть осмысленны. Вы должны быть в состоянии, ну не знаю, прочитать код вслух! и что бы всем вокруг все было понятно.
class T{
private $b;
private $s;
public function __construct()
{
$this->b = mt_rand(0, 1000);
$this->s = 'foo';
}
}
class G
{
public function __construct(array $t)
{
// ...
}
}
$g = new G(array_map(function () {
return new T();
}, range(1, 4));