в том что я привел - я тоже ничего не вижу плохого, я просто добавил разделитель пути в константу DOC_ROOT для удобства, т.к. все равно ее везде пишем

а что касается кода
stepanа, то в частности классов - то я не вижу целесообразности создания классов в том примере. Потом эта привычка "входит в моду", и люди используют классы везде где это можно/возможно/нужно/не нужно. Тем более он занялся изучением движка, и как я понял, собирается написать свой.
Оформление кода, комментарии, названия методов и переменных, на мой взгляд, имеют большое значение в разработке.
Изучать, пробовать "как оно
работает", эксперементировать - да, это дело, чтобы понять принцип работы, параллельно читая "для чего это все".
Мой совет:Изучить побольше теории, почитать книжек, а потом начать писать движки. Все равно их придется переписывать, зато - опыт

.