Переход устаревшего кода на новый фреймворк - сложная задача. Это не будет так просто, как требовать ваши файлы бизнес-логики. Вот как бы я это сделал, если бы был на вашем месте.
Проведите некоторое время Обучение Silex. Начните с создания нового тестового проекта с ним, чтобы увидеть, как он работает. Лучше всего, если вы знаете, как фреймворк предположил, что должен работать, прежде чем пытаться интегрировать его с унаследованной системой. После того, как вы попробовали некоторое время, вы можете решить, подходит ли Silex для вас.
Как только вы знаете, как работает Silex, вы должны получить автозагрузчик Composer, работающий с вашим кодом. Композитор может загружать классы бизнес-логики, не используя require
.
Далее следует выяснить, как работать с вашей базой данных . Я вижу два варианта для вас. Вы можете либо перейти к Doctrine, либо использовать существующие классы доступа к базе данных. Экосистема Symfony (и поэтому Silex) ориентирована вокруг ORM доктрины. В зависимости от вашей схемы вы можете написать для нее привязки Doctrine. Однако Silex не привязан к Doctrine, и вы должны иметь возможность использовать существующий код доступа к базе данных. Если вы сохраните существующую систему, вы, вероятно, захотите написать Silex ServiceProvider
для ее интеграции.
Далее, самая сложная часть, вероятно, будет перемещать вашу бизнес-логику в Silex контроллеры. Следует иметь в виду, что вам не обязательно сразу переводить весь проект. В зависимости от того, насколько велик ваш проект, вы можете захотеть переместить часть за раз.
У меня есть еще один вопрос. Если я использую мою бизнес-логику как Службы и если мне нужно получить доступ к базе данных в моей службе. Правильный ли доступ к базе данных для передачи «$ app ['db»] в конструктор моей службы? Я попытаюсь использовать «DoctrineServiceProvider» на своих первых шагах. – smartcoderx
Да. Это верно. Способ Silex для этого состоит в создании поставщиков услуг для ваших классов обслуживания. Вот где вы будете строить свои сервисы и передавать '$ app ['db']' в свои конструкторы. –