gpt4 book ai didi

php - 如何安装 doctrine 2.2 ORM

转载 作者:搜寻专家 更新时间:2023-10-31 21:14:52 25 4
gpt4 key购买 nike

我已经下载了 doctrine 2.2 orm。我已经阅读了它的安装指南,但我无法正确理解它的文档。有人可以指导我完成学说的设置过程。我以前一直在使用 java 中的 Hibernate ORM 框架。他们有很好的文档,初学者很容易理解。我不认为学说的文件是那个级别的。有人可以提供一些关于学说的示例项目吗?

最佳答案

有几种方法可以将原则安装到您的网站项目中。我将向您展示一个简单的替代方案:

  • 在您的服务器中下载学说包并解压。现在您的目录如下所示:

    本地主机/学说
    localhost/Doctrine/Common
    本地主机/学说/ORM
    localhost/Doctrine/DBAL

  • 您需要创建两个附加文件夹以存储您的模型(持久性实体)和代理:

    本地主机/模型
    本地主机/代理

  • 创建一个类,负责创建EntityManager 对象和与数据库的连接。让我们创建名为 Doctrine 的魔法类:

    localhost/doctrine.php

设置属性:

<?php
use Doctrine\Common\ClassLoader,
Doctrine\ORM\Configuration,
Doctrine\ORM\EntityManager,
Doctrine\Common\Cache\ArrayCache,
Doctrine\DBAL\Logging\EchoSQLLogger;

class Doctrine{

public $em = null;

public function __construct()
{

require_once 'Doctrine/Common/ClassLoader.php';

$doctrineClassLoader = new ClassLoader('Doctrine', '/');
$doctrineClassLoader->register();
$entitiesClassLoader = new ClassLoader('models', '/models/');
$entitiesClassLoader->register();
$proxiesClassLoader = new ClassLoader('Proxies', '/proxies/');
$proxiesClassLoader->register();

// Set up caches
$config = new Configuration;
$cache = new ArrayCache;
$config->setMetadataCacheImpl($cache);
$driverImpl = $config->newDefaultAnnotationDriver(array('/models/Entities'));
$config->setMetadataDriverImpl($driverImpl);
$config->setQueryCacheImpl($cache);

$config->setQueryCacheImpl($cache);

// Proxy configuration
$config->setProxyDir('/proxies');
$config->setProxyNamespace('Proxies');

// Set up logger
$logger = new EchoSQLLogger;
//$config->setSQLLogger($logger);

$config->setAutoGenerateProxyClasses( TRUE );

// Database connection information
$connectionOptions = array(
'driver' => 'pdo_mysql',
'user' => 'USER',
'password' => 'PASS',
'host' => 'HOST',
'dbname' => 'DB_NAME'
);

// Create EntityManager
$this->em = EntityManager::create($connectionOptions, $config);
}
}

现在,您可以在包含 entityManager 后在您的网站中使用它。

$doctrine = new Doctrine();
$user = new models\User;
$doctrine->em->persist($user);
$doctrine->em->flush();

至少这篇文章可以帮助您了解如何安装和使用学说

关于php - 如何安装 doctrine 2.2 ORM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11168309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com