Silex 遗留项目的结构
Structure of legacy project with Silex
我有一个非常古老的公寓 PHP 项目。我想在不改变大而旧的数据库结构的情况下使源文件现代化。我找到了 PHP Framework Symfony Silex。我喜欢这个框架的微结构,它理解起来并不复杂。
我有以下文件结构:
- classes (The business logic)
- web (index.php and all my controllers)
- vendors
- 如何从 Silex 应用程序中包含我的业务逻辑?我应该在
index.php
中使用 require_once('classes/file1.php');
吗?
- 如何从业务逻辑文件访问数据库?
将遗留代码转换为新框架是一项艰巨的任务。它不会像需要您的业务逻辑文件那么简单。如果我处在你的位置,我会这样做。
花一些时间学习 Silex。首先用它构建一个全新的测试项目,看看它是如何工作的。在尝试将框架与遗留系统集成之前,最好先了解框架应该 的工作原理。试用一段时间后,您可以决定 Silex 是否适合您。
了解 Silex 的工作原理后,您应该让 Composer 自动加载器 使用您的代码。 Composer 可以加载您的业务逻辑 类 而无需使用 require
.
接下来,了解如何使用您的数据库。我看到两个适合你的选择。你可以过渡到 Doctrine,或者使用你现有的数据库访问 类。 Symfony(以及 Silex)生态系统以 Doctrine ORM 为导向。根据你的模式,你可以为它编写 Doctrine 映射。但是,Silex 不依赖于 Doctrine,您应该能够使用现有的数据库访问代码。如果您保留现有系统,您可能需要编写一个 Silex ServiceProvider
来与其集成。
接下来,最困难的部分可能是将您的业务逻辑转移到 Silex 控制器。要记住的一件事是,您不一定需要一次转换整个项目。根据您的项目有多大,您可能希望一次过渡一个片段。
我有一个非常古老的公寓 PHP 项目。我想在不改变大而旧的数据库结构的情况下使源文件现代化。我找到了 PHP Framework Symfony Silex。我喜欢这个框架的微结构,它理解起来并不复杂。
我有以下文件结构:
- classes (The business logic)
- web (index.php and all my controllers)
- vendors
- 如何从 Silex 应用程序中包含我的业务逻辑?我应该在
index.php
中使用require_once('classes/file1.php');
吗? - 如何从业务逻辑文件访问数据库?
将遗留代码转换为新框架是一项艰巨的任务。它不会像需要您的业务逻辑文件那么简单。如果我处在你的位置,我会这样做。
花一些时间学习 Silex。首先用它构建一个全新的测试项目,看看它是如何工作的。在尝试将框架与遗留系统集成之前,最好先了解框架应该 的工作原理。试用一段时间后,您可以决定 Silex 是否适合您。
了解 Silex 的工作原理后,您应该让 Composer 自动加载器 使用您的代码。 Composer 可以加载您的业务逻辑 类 而无需使用 require
.
接下来,了解如何使用您的数据库。我看到两个适合你的选择。你可以过渡到 Doctrine,或者使用你现有的数据库访问 类。 Symfony(以及 Silex)生态系统以 Doctrine ORM 为导向。根据你的模式,你可以为它编写 Doctrine 映射。但是,Silex 不依赖于 Doctrine,您应该能够使用现有的数据库访问代码。如果您保留现有系统,您可能需要编写一个 Silex ServiceProvider
来与其集成。
接下来,最困难的部分可能是将您的业务逻辑转移到 Silex 控制器。要记住的一件事是,您不一定需要一次转换整个项目。根据您的项目有多大,您可能希望一次过渡一个片段。