четверг, 18 февраля 2016 г.

Назад в 2010 - часть 1

Появилась у меня тут очередная безумная идея, воскресить свою старую систему управления контентом, написанную пять лет назад. Безумность идеи заключается в том, что код в этой СУКе мягко сказать трешовый и угарный, а профита от воскрешения сего высера не предвидится. Но как писал М.Горький
Безумству храбрых поем мы славу.
Безумство храбрых — вот мудрость жизни!

А начну я свои безумные деяния с плана действий.

План действий:
  1. Запустить систему в первоначальном виде без дороботок, что бы она работала как в августе 2010 года;
  2. Исправить все ошибки, типа предупреждений, устаревших функций и варнингов.
  3. Найти способы как ужиться с существующей архитектурой и не начать ее переписывать (хотя это тянет на новый цикл статей)

И так, первое, что делаю, это выкачиваю систему из SVN. Да да, дорогой друг, я уже в то время использовал системы контроля версиий, но мягко сказать использовал их не по назначению, а потому что это было модно, молодёжно и вообще, ну ты понял. Стоит сказать благодаря SVN и сервису mysvn.ru, у меня в распоряжении есть этот "зловонный кусок говно", который по прошествию 5 лет я могу потыкать палочкой. Манипуляции по выкачиванию кода из SVN пропущу, так как эта хуета врядли кому-то будет интересна.

Следущим шагом будет очистка кодовой базы от папок SVN.  Ну не буду же я в 2016 году вести разработку под SVN, я что похож на ушибленного? Ладно странный вопрос, возможно похож. Но не суть. Короче репа с проектом будет на git, да здраствует великий git init. Заигнорил пару папок, сделал первый комит, я крут.

Настоло время посмотреть как она вообще работает, запускаю и ... она (эта СУКа) запускается попутно вывалив мне на страницу овердохуя нотисов, к чему собственно я был готов, это же был 2010ый год, мне тогда срать было на все эти нотисы, они тупо глушились error_reporting'ом и display_error'ом. Позже их исправлю, потому как надо придерживаться плана, поэтому мне не остаётся другого вырианта как заглушить эти ошибки также как и в 2010. Создаю файлы boostrap.php, пишу в него магические строчки:
error_reporting(E_ALL & ~E_NOTICE);
Подключаю его в две точки входа. И вуаля, система начинает работать. Охуенно. Правда, внезапно подъехала фура с варнингами. Я не ожидал. Варнинги это серьезно, с этими братками надо дела зарешивать побыстрому. Хотя по факту там один варнинг, просто он дублируется, так что не всё серьёзно.
Warning: Illegal string offset 'size' in /var/www/html/badsystem/kernel/engine.php on line 184
Лол, на пустом месте
  if ($arg[1]['size']) $size = ' size="'.$arg[1]['size'].'" ';
Фикс вообще детский
  if (!empty($arg[1]['size'])) $size = ' size="'.$arg[1]['size'].'" ';
Короче с братками варнингами вопросы зарешал, надеюсь они больше не подъедут на фурах.

На этом первый этап закончен, система полностью работоспособна, покрайней мере у меня на локальной машине. На этом первая статья из этого цикла заканчивается, в следущей статье, буду заниматься форматирование кодовой базы под PSR-1, PSR-2 стандарт и исправлениями ошибок в существующей годовой базе.




Комментариев нет:

Отправить комментарий