【发布时间】:2015-08-11 07:20:50
【问题描述】:
我没有通过 Symfony 的文档和谷歌找到任何解决方案。我只找到有关从头开始应用程序的内容。
我有一个大型的自有框架应用程序,我想慢慢迁移到 Symfony2。我没有从头开始构建新应用程序的便利。 到目前为止,我将整个 symfony 文件夹克隆到我自己的框架应用程序的根文件夹中。 我通过直接实现 Doctrine 来使用它,而没有触及 Symfony,如下所示。
<?php
namespace QueryBuild\Helpers;
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
class Listing
{
protected $appConfig;
protected $doctrineEntityManager;
public function __construct(\cConfig $app_config)
{
$this->setAppConfig($app_config);
$this->setDoctrineEntityManager();
}
public function setAppConfig($app_config)
{
$this->appConfig = $app_config;
}
public function setDoctrineEntityManager()
{
$paths = array(
$this->getAppConfig()->BasePath() . "/symfony/src/El/Entity/"
);
$isDevMode = true;
// the connection configuration
$dbParams = array(
'driver' => 'sqlsrv', // pdo_sqlsrv for mssql
'host' => $this->getAppConfig()->db->Host,
'user' => $this->getAppConfig()->db->User,
'password' => $this->getAppConfig()->db->Password,
'dbname' => $this->getAppConfig()->db->Database
);
// 5th param on false, to NOT use the simple annotation reader. Otherwise annotations are going to be readed wrong. Can be due to server configurations.
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode, null, null, false);
$doctrineEntityManager = EntityManager::create($dbParams, $config);
$this->doctrineEntityManager = $doctrineEntityManager;
}
public function getAppConfig()
{
return $this->appConfig;
}
public function getDoctrineEntityManager()
{
return $this->doctrineEntityManager;
}
}
不要对我的命名空间感到困惑,我的实际任务是创建一个查询构建功能。
现在我不想再通过将登录数据传递到 setDoctrineEntityManager() 来连接到数据库。 我已经在 /symfony/app/config/parameters.yml 中写了这些信息。 现在我的想法是实例化 symfony 以便能够读取配置,以及如何从 symfony 到实例化学说。
我怎样才能做到这一点? 非常感谢您的建议。
【问题讨论】:
-
您如何将 symfony 与您的应用程序一起使用?即:你是如何引导 symfony 的?仅“复制”文件不会发生任何事情。
-
嗨,这是问题所在,Symfony 尚未在我的应用程序中使用/实现/实例化/引导。我如何才能做到这一点,然后我怎样才能获得登录的学说实例?
-
有很多不同的方法,你必须问另一个问题。首先请参阅幻灯片 19 后的 slideshare.net/fabrice.bernhard/…。
-
好的,我会检查链接,谢谢。
标签: symfony frameworks doctrine