Printu - проcтой логгер на все времена. / Блог / Сергей Фомин aka mpakfm PHP Программист, Web Developer.
profile image

Сергей Фомин

Web Developer / Блог

Telegram Me

Printu - проcтой логгер на все времена.

15 лет использую этот логгер для дебага и логгирования.

Только в прошлом году руки дошли записать его как пакет composer

Теперь, используя в проектах, довожу до совершенства. И вот всплывает может для кого-то совершенно очевидная вещь: можно использовать деструктор для завершающей операции если она нужна всегда (почти всегда). В логгере это вывод переменной куда либо, прочие методы всего лишь настройки вывода и передача дополнительных сущностей: Title, DateTime и т.п.

Но мне почему-то казалоь что деструктор сработает в конце и один раз для всех обьектов. А тут я внимтельно обдумал это поведение и понял, что таки нет!
Во-первых не для всех обьектов. Они все разные, это не синглотон, а фабрика.
А во-вторых  почему в конце? А это стоило прото проверить. Вот не знаю когда объект официльно обьявляется "умершим" Ведь то, что мы не используем его прямо сейчас, не говорит о том, что его нужно деструктить и мы не сможем использовать его потом.
Однако тест показал, что именно так все и происходит. Видимо интепретатор считывая код, помечает, что обьект больше не ипользуется и спокойно вызывает деструктор именно там, где был вызван последний метод обьекта:

Printu::obj('test in log file error.log')->dt()->file('error');

Отдельно хочу упомянуть наверно самый древний кусок, напиcанный еще моим первым учителем в мире php программирования - Кириллом Лосевым:

echo '<div style="color: #000; text-align:left; background-color:#FFFAFA; border: 1px solid silver; margin: 10px 10px 10px 10px; padding: 10px 10px 10px 10px;">',$title == '' ? '': "<b>{$title}:&nbsp;</b>", nl2br(str_replace([' ','<','>'], ['&nbsp;','&lt;','&gt;'], print_r($obj,true))),'</div>';

Это примерно 2003-2004 год, а она до сих пор изящна и вызывает приятное чуство ностальгии :)

Согласие пользователя сайта на обработку персональных данных

1. Настоящим я, далее – «Субъект Персональных Данных», во исполнение требований Федерального закона от 27.07.2006 г. № 152-ФЗ «О персональных данных» (с изменениями и дополнениями) свободно, своей волей и в своем интересе даю свое согласие Фомину Сергею Геннадиевичу на обработку своих персональных данных, указанных при заполнения веб-формы оплаты услуг на сайте mpakfm.ru, направляемой (заполненной) с использованием программного обеспечения по интернет адресу mpakfm.ru, далее – «Сайт».

2. Под персональными данными я понимаю любую информацию, относящуюся ко мне как к Субъекту Персональных Данных, в том числе мои фамилию, имя, отчество, адрес, образование, профессию, контактные данные (телефон, факс, электронная почта, почтовый адрес), фотографии, иную другую информацию. Под обработкой персональных данных я понимаю сбор, систематизацию, накопление, уточнение, обновление, изменение, использование, распространение, передачу, в том числе трансграничную, обезличивание, блокирование, уничтожение, бессрочное хранение и любые другие действия (операции) с персональными данными.

3. Обработка персональных данных Субъекта Персональных Данных осуществляется исключительно в целях записи Субъекта Персональных Данных в базе данных сайта mpakfm.ru с последующим направлением Субъекту Персональных Данных почтовых сообщений и смс-уведомлений, в том числе рекламного содержания, от сайта mpakfm.ru, его аффилированных лиц и/или субподрядчиков, информационных и новостных рассылок, приглашений на мероприятия сайта mpakfm.ru и другой информации рекламно-новостного содержания, а также с целью передачи персональных данных Субъекта Персональных Данных финансовым организациям для реализации денежных переводов при оплате услуг.

4. Датой выдачи согласия на обработку персональных данных Субъекта Персональных Данных является дата отправки платежной веб-формы с сайта mpakfm.ru.

5. Обработка персональных данных Субъекта Персональных Данных может осуществляться с помощью средств автоматизации и/или без использования средств автоматизации в соответствии с действующим законодательством РФ и внутренними положениями сайта mpakfm.ru.

6. Сайт mpakfm.ru принимает необходимые правовые, организационные и технические меры или обеспечивает их принятие для защиты персональных данных от неправомерного или случайного доступа к ним, уничтожения, изменения, блокирования, копирования, предоставления, распространения персональных данных, а также от иных неправомерных действий в отношении персональных данных, а также принимает на себя обязательство сохранения конфиденциальности персональных данных Субъекта Персональных Данных. Сайт mpakfm.ru вправе привлекать для обработки персональных данных Субъекта Персональных Данных субподрядчиков, а также вправе передавать персональные данные для обработки своим аффилированным лицам, обеспечивая при этом принятие такими субподрядчиками и аффилированными лицами соответствующих обязательств в части конфиденциальности персональных данных.

7. Я ознакомлен(а), что:

Утверждено и действительно на сайте mpakfm.ru с 04 июля 2020 года.