я бы вынес "ручную" установку в статическую переменную базового класса, чтобы не было никаких getLayoutPath и прочих методов, т.к. а) пугает юзеров б) не дает писать свои собственные методы с таким именем. а статическая переменная - самое то. например, так сделано в Symfony\Command, переменная $defaultName или как-то так
я бы вынес "ручную" установку в статическую переменную базового класса, чтобы не было никаких getLayoutPath и прочих методов, т.к. а) пугает юзеров б) не дает писать свои собственные методы с таким именем. а статическая переменная - самое то. например, так сделано в Symfony\Command, переменная $defaultName или как-то так
Метод так и так понадобится как раз потому что дефолт тоже надо вычислять как Wilmer заметил.