ckuran/doctrine4legacy

为旧版应用程序提供的简单Doctrine包装器。

v1.0.12 2020-05-29 11:28 UTC

This package is auto-updated.

Last update: 2024-09-29 04:49:45 UTC


README

为旧版应用程序同时提供Doctrine的DBAL和ORM的简单包装器。

每天我都要与基于自定义框架的PHP 5.6单体应用程序打交道。如果你在Symfony框架中接触过Doctrine,那么你可能知道Doctrine的EntityManager如何通过简化一切来使日常开发工作更加轻松。

这个库提供了一种简单的包装器,这样你就可以专注于开发你的旧版应用程序——但同时也享受Doctrine技术的优势。如果你厌倦了自定义框架的数据库抽象级别,请使用它。不再有废弃的mysql_connect错误、通知、警告等。从Doctrine CLI开始构建你的数据库。几年后,迁移到任何其他依赖Doctrine的正确框架将会容易得多。

目前支持

  • 多个数据库实例
  • 从实体注解生成数据库模式

作为一个PHP开发者,我还是个新手,但请随意批评代码。

如何使用?

  1. 使用Composer安装
composer require ckuran/doctrine4legacy
  1. 将.env.dist和cli-config.php复制到您的根目录
  2. 将.env.dist重命名为.env
  3. 编辑.env文件,并通过自定义前缀提供对单个或多个数据库的访问
  4. 在您的脚本中创建bootstrap.php文件或在此处附近包含此代码(靠近加载composer依赖项)
define('ROOT', __DIR__ . '/');

if (file_exists(ROOT . '.env')) {
    $env = new Dotenv();
    $env->load(ROOT . '.env');
}
  1. 您可以将包装器添加到bootstrap.php或在其脚本中的任何位置使用它

使用以下方法获取默认数据库

$em   = DoctrineWrapper::getEntityManager();
$dbal = DoctrineWrapper::getConnection();

使用以下方法获取自定义前缀数据库

$em   = DoctrineWrapper::getEntityManager('customPrefix');
$dbal = DoctrineWrapper::getConnection('customPrefix');