В основном это можно сделать тремя способами: с префиксными функциями, в которых require_once
включает файлы по функциональности, что довольно часто.
Другой «правильный» способ, который часто рекламируется, - это наличие одного гигантского класса со всем вашим кодом плагина. Как вы и сказали, сохраняя все в порядке, как только этот файл попадет в тысячи строк кода, вам не хватает управляемости.
Мне нравится делать это из моего фона C # - иметь один основной класс плагина и другие «рабочие» классы (вы можете поместить их в пространство имен, чтобы имена классов были короткими). Например, есть класс, предназначенный для раздела администратора (он также может иметь свои собственные маленькие «подклассы», скажем, один для каждой страницы). Потребуется некоторое время, чтобы преобразовать весь этот код в различные классы и файлы, но это будет того стоить - будет намного легче отслеживать все, а также, например, заставлять людей работать над базой кода все вместе. Это также заставляет вас больше думать о том, как все ваше приложение совмещается, что обеспечивает более продуманный код.
На самом деле я пишу об этом серию статей, описывающую три различных метода. Вы можете посмотреть первый взнос здесь . В ближайшие недели появятся еще два.
Надеюсь, я помог!