maler1988
@maler1988
Web-программист (1С Bitrix)

Почему Singleton не сохраняет записанные в свойство объекта параметры?

Взял пример класса Singltone здесь, делаю небольшой парсер. Я хочу сохранить путь загружаемого файла, частично его считать, чтобы пользователь мог на втором шаге парсинга настроить соответствие колонок из файла и свойств каталога (которое кстати тоже возможно потребуется сохранить в экземпляре класса Parser). В общем, если сделать вот так:

$parser = App\Parser::getInstance();
$parser->setValue('name', 'parserPanel');

$parser2 = App\Parser::getInstance();
echo $parser2->getValue('name'); //тут получаю ранее установленный name, т.е. parserPanel


То App\Parser::getInstance(); отдаёт то что нужно. Если же повторно вызвать getInstance() в другом файле, отвечающим за обработку ajax запросов (в этом файле предварительно подключается класс App\Parser и создаётся экземпляр класса), то я получаю уже новый объект, в котором нет никакого name. Вопрос, почему вызывая App\Parser::getInstance(); в двух разных файлах я получаю разные объект?
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
Delgus
@Delgus
PHP рождается, поднимает все окружение, но после запроса умирает. Когда вы делаете новый запрос вы получаете новый объект...

Синглтон в PHP только в рамках одного запроса (если речь не о асинхронном PHP конечно)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Teamlead Ставрополь
от 25 000 до 50 000 руб.
WEBINAR Москва
от 190 000 руб.
от 60 000 руб.
09 дек. 2019, в 23:06
1000 руб./за проект
09 дек. 2019, в 22:43
1500 руб./за проект
09 дек. 2019, в 22:39
700 руб./за проект