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));