Всем привет. Пожалуйста, подскажите, как лучше сделать. Пример будет на PHP, но и под фронт подойдет, потому что я и там сталкиваюсь с подобными дилеммами.
Коротко вопрос: нормально ли в функцию класть 4 аргумента?
Кейс: гибкий вывод чего-либо в разных местах
Длинно вопрос:
У меня в одно месте меню выводится вот так:
<li class=" ">
<a class="color_light-gray" href="/dostavka.html">Доставка</a>
</li>
а в другом это же меню вот так:
<div class="px-0 py-1 ">
<a class="" href="/about.html">О нас</a>
</div>
Из различий:
1. обертка в одном месте <li> в другом <div>
2. класс у обертки в одном месте есть, в другом нет
3. класс у ссылки в одном месте есть, в другом нет
и если раньше функция была menu(), то сейчас это стало более гибко:
menu($side,$wrapper_tag,$wrapper_class,$link_class)
На выходе вот так:
menu('top','li','','color_light-gray');
или
menu('left','div','some_classes','link_class');
Я нормален? Или надо придумывать какое-то особое решение?
Раньше на проекте надо было написать top_menu() и bottom_menu(). И еще 10_menu(). Сейчас все решается одной функцией, но разными аргументами. Решение вроде гибкое, но что-то мне подсказывает, что 4 аргумента это как-то неправильно. м?