Не совсем понял вопрос, вы имеет в виду не хардкодинг с жеским указанием куда отправлять, а динамично? Тогда ответ ниже:
Посмотрите в сторону роутинга Aura Router с поддержкой PSR 7, у него есть метод generate(), который генерирует ссылку по названию роута и без хардкодинга
https://vk.com/@autofay-pakety-rouitnga-na-php-s-p...Плохой пример:
Обычно в шаблоне хардкодят и задают ссылку в href примерно в таком виде
href="/blog/<?=$post->id?>"
, если вы решили
/blog/
сменить на
/pages/
или еще как-то, то придется все ссылки менять
Хороший пример на основе роутинга:
в самом роуте
blog.read
вы можете задавать правила для url (на /posts/ или /blog/ вести),
а в шаблонах выводиь ссылку так, и все ссылки автоматом будут учитывать настрйоки:
href="<?= $generator->generate('blog.read', ['id' => 42]); ?>"