slo_nik, мне кажется это на отдельный вопрос по хорошим парктикам тянет... я слабоват...
но я бы сделал лучше 4 метода: getMenuTop(), getMenuRight(),
если следовать информационному эксперту из SOLID,
как мне кажется так понятней: Catalog::getMenuRight()
чем запись Catalog::getMenu(Catalog::LOCATE_RIGHT )
Иван, по ПЫХЕ:
- пробегитесь по функциям PHP при работе со строками и масcивами... потренирутесь
- изучите ООП в PHP, базовые вещи... затем изучите шаблон MVC (он во всех движках, почти во всех фреймах)
- где-то тут вы уже должны разобраться с нормальными формами в SQL БД
- расчехлите фреймворк (Yii2 или Laravel) и сделайте любое из тестовых по ссылке выше...
- углубитесь в возможности фрейма, который выбрали
....
- далее оттачивайте уже архитектуру приложений в рамках фреймворка (сервисный слой, DDD, тестирваоние и прочее)
- стройте REST, если из фронота -- пробуйте совместить с React или Vue
renderPartial просто не зачем быть во вьюхе, т.к у самой вьюхи уже задан layout и когда ты подключаешь еще один файл, то только его и тянешь