Я работаю над проектом веб-сайта с использованием WordPress, для которого требуется несколько пользовательских плагинов. Я хочу, чтобы модули были модульными, но некоторые из них требуют аналогичной функциональности. Таким образом, я считаю себя с конфликтующими целями:Организация кода с несколькими связанными проектами
- сделать каждый плагин самодостаточного и модульное
- Не повторять код
К примеру, у меня есть необходимость в двух различных плагин для вывода <select>
элементов, основанных на списке терминов и некоторых аргументах. Я написал функцию, чтобы выполнить это, но должен ли я дублировать функцию в обоих плагинах? Это похоже на кошмар для обслуживания, но если я этого не сделаю, один плагин будет зависеть от другого довольно произвольно. Есть ли какое-то умное решение, которое мне не хватает?
Планируете ли вы сделать эти плагины общедоступными или сохранить их только в своих проектах? Если последнее, я бы лично помещал их в какую-то папку lib/shared и просто загружал их в плагин. – skrilled
Это будут частные плагины только для этого проекта. Папка lib - интересная идея. Это все равно будет зависимостью, но это не обязательно будет отдельный плагин. Где в организации файловой системы WordPress вы бы рекомендовали сохранить папку lib (возможно, прямо под wp-content)? –
Это полностью зависит от вас, но я обычно помещаю свои библиотеки в папку вне самих проектов; i.e:/var/www/lib - затем либо измените php.ini, либо установите php_flag, чтобы добавить новый путь include, или, если проще, просто укажите/включите их. – skrilled