Да не нужны мне глобальные переменные
Мне нужны переменные класса
Например private которая, должна быть доступна только внутри класса, а никак не глобально
Да YII2 тут в принципе совсем не при чем
Ваш вариант рабочий, но он не создает переменные класса
Он создает "переменные переменной"
Это можно сделать и через объявление массива
public $promo = [];
и уже $promo ['var1'] = 1; и т.д
Нужно именно как и описывал
аналог записи
public $promo1, public $promo2, public $promo3
но в цикле ) (аля public $this->{'promo' . $i_tmp};
Ну это опять же не решение (
Я также могу в public $promo; запихать массив переменных и все
Но мне нужно именно переменную класса
Т.е в цикле чтобы создались public $promo1, public $promo2, public $promo3
А в вашем случае, создается так сказать "родительская" promo и в "ней" уже дочерние переменные
Ну вот так в том то и смысл
Мне нужно создать порядка 10 например однотипных переменных (на самом деле их несколько больше - разные типы)
Я могу прописать
public $xxx1, $xxx2, $xxx3 и т.д
Но хотелось бы более красивого решения
Как раз что то в виде цикла
Т.е в цикле объявляю эти переменные и дальше могу ими пользоваться
Как вы написали в цикле - так можно, НО если переменная уже объявлена
А проблемма как раз в том, чтобы сделать объявление переменных класса в цикле
По поводу esentutl ругается что база битая
Это я итак уже делал, когда пытался восстановить
MS советует выполнить OffLine дефрагментацию
Это также не получается
==========================
Запуск режима ДЕФРАГМЕНТАЦИИ...
Исходная база данных: C:\Windows\NTDS\ntds.dit
Конечная база данных: d:\ntds.dit
Ругается, что не объявлена еще...
Т.е если ранее написать
public $promo1_id, $promo2_id, и т.д все ОК
А так - не объявлена )