Повторяющийся код всегда является признаком неоптимального проектирования программного обеспечения, и существует множество возможностей его предотвратить.Вот некоторые из них для вашей конкретной задачи:
1.Используйте параметры
Объедините ваши файлы в один и используйте GET-параметры в вашем URL, например file.php?output=pfd
.В вашем скрипте вы можете прочитать этот параметр из $_GET['output']
и решить, какой формат экспорта генерировать (if ... else
, switch
).
2.Использование Включает
Наличие только одного большого файла будет очень запутанным.Таким образом, вы также можете сохранить ваши три php-файла и создать четвертый файл get_data.inc.php
, в котором у вас есть весь дублирующий код, извлекающий данные.Теперь вы можете загрузить и запустить этот файл в каждом из ваших трех php через include get_data.inc.php
.
3.Используйте функции
Аутсорсинг кода во включаемый файл, что также может сбивать с толку, поскольку вы понятия не имеете, что будет делать включение и каковы зависимости.Так что лучше заключить функциональность в функцию.Здесь вы можете четко определить, что вставлять в функцию (db connection?) И что вы получите (массив данных?).Создайте новый файл get_data.func.php
и определите function get_data($db_connection)
, выполнив всю работу и вернув данные, готовые к выводу.Затем в каждый файл включите файл через require_once get_data.func.php
и произнесите $Data = get_data($db_connection);
.
4.Использовать наследование классов
Вы можете использовать концепцию наследования классов.Вы можете определить абстрактный класс, который включает в себя функциональность для извлечения ваших данных из базы данных, и вы можете определить абстрактную функцию abstract public function output();
.Затем вы можете создавать дочерние классы, расширяющие ваш класс, которые реализуют функцию output()
особым образом.
5.Использование MVC Framework
Вы можете использовать установленную среду для реализации шаблона «Model View Controller» (MVC).Здесь вы очень аккуратно поделите различные слои вашего приложения (данные из БД, подготовьте данные для вывода, представьте данные).
Отказ от ответственности: это всего лишь некоторые советы для обучения, чтобы лучше организоватьваши проекты.Если у вас мало опыта, я не рекомендую напрямую начинать с большой среды MVC.Просто пройди путь просветления сверху вниз;)