Я имел ввиду готовые решения - то есть да, CMS. Что делать с фреймворками я пока понятия не имею, т. к. в процессе обучения еще банально до них не дошел.
Ок, я тоже пришел к тому, что тут только функцию дергать можно.
Да, уже читаю, но что-то о принципах проектирования не особо распространяются в книгах для начинающих.
Этот класс я хочу сделать просто обёрткой, у него не будет экземпляров. Просто где мне надо будет указать путь относительно директории сайта, я пропишу GlobalConfig::ROOT. Или имя сайта буду выводить как Global:Config::SITE_NAME. Но главное - я смогу эти глобальные значения использовать внутри других классов (ведь они глобальные константы и переменные не видят, им приходится всё передавать в конструктор например).
Неужели в ООП это прям таки в корне неправильно? Какие есть альтернативы?
Пользоваться готовыми решениями пока не хочу, т. к. считаю, что в процессе обучения надо разбираться во всех мелочах.
строгих правил вроде "то-то и то-то отделяем пустой строкой, а вот то-то отделять не желательно" и т. п.
Ну, если это и все рекомендации, то тем даже лучше.
rework: мне это и нужно. Чтобы в случае отклонения от условия либо выводилась строка, либо (если ошибку допустил я в коде, т. е. не то имя переменной вписал например) выводилась ошибка скрипта.
rework: да, если судить по логике, вариант if ($str !== '') - наиболее логичный. Так как сработает и при необъявленной переменной, и вообще в любом случае отличном от простого объявления пустой строки. Спасибо.