Открою маленький секрет.
Все 100% современных приложений работают именно таким образом - сначала они инициализируют начальные константы, а потом запускают приложение.
Для этого надо всего лишь, чтобы файлы проекта не валялись как попало, а были организованы в разумную структуру. В частности, имели
единую точку входа. А точнее - две, для веб-приложения и для утилит командной строки. Как это организовать на примитивном уровне, можно посмотреть
здесь. Но лучше поставить уже себе фреймворк и научиться использовать РНР не как в каменном веке, а так, как его используют современные программисты в двадцать первом.