У меня есть очень старый плоский проект PHP. Я хотел бы модернизировать исходные файлы без изменения большой и старой структуры базы данных. Я нашел PHP Framework Symfony Silex. Мне нравится микроструктура этой структуры, ее не так сложно понять.
У меня есть следующая структура файла:
- classes (The business logic)
- web (index.php and all my controllers)
- vendors
require_once('classes/file1.php');
в моем index.php
?Переход старого кода на новую платформу является сложной задачей. Это не так просто, как требовать файлы бизнес-логики. Вот как бы я поступил, если бы был на вашем месте.
Потратить некоторое время изучение силекса. Начните с создания нового тестового проекта, чтобы увидеть, как он работает. Лучше всего, если вы знаете, как работает предполагаемый работать, прежде чем пытаться интегрировать его с устаревшей системой. Через некоторое время вы можете решить, подойдет ли вам Silex.
Как только вы узнаете, как работает Silex, вы должны получить Композитор автозагрузчик работать с вашим кодом. Composer может загружать классы бизнес-логики без использования require
,
Далее выясните, как работать с вашим база данных. Я вижу два варианта для вас. Вы можете либо перейти на Doctrine, либо использовать существующие классы доступа к базе данных. Экосистема Symfony (и, следовательно, Silex) ориентирована на ORM доктрины. В зависимости от вашей схемы, вы можете написать для нее сопоставления Doctrine. Однако Silex не привязан к Doctrine, и вы должны иметь возможность использовать существующий код доступа к базе данных. Если вы сохраните свою существующую систему, вы, вероятно, захотите написать Silex ServiceProvider
интегрировать с ним.
Далее, самая сложная часть, вероятно, состоит в том, чтобы перенести вашу бизнес-логику в Silex. контроллеры. Нужно иметь в виду, что вам не обязательно переносить весь проект сразу. В зависимости от того, насколько велик ваш проект, вы можете захотеть перенести часть за раз.
Других решений пока нет …