学说consolerrunner(与CodeIgniter集成)



我正在从学说中遵循有关如何与Codeigniter集成的教程。

在某些时候,教程要求我创建一个cli-config.php文件。

我确实在我的Codeigniter根文件夹上创建了它。

在该文件中,我添加了以下代码:

<?php
use DoctrineORMToolsConsoleConsoleRunner;
// replace with file to your own project bootstrap
require_once 'index.php'; // <------- what should i add here?
// replace with mechanism to retrieve EntityManager in your app
$entityManager = GetEntityManager();
return ConsoleRunner::createHelperSet($entityManager);

我不确定他们对"您自己的项目bootstrap"的含义。我以为他们是在谈论CodeGiniter的中心部分的index.php。

通过命令行,位于Codeigniter root文件夹(我安装了作曲家),我做了" php供应商/bin/doctrine",但我遇到了此错误。

<div id="container">
        <h1>A Database Error Occurred</h1>
        <p>Unable to connect to your database server using the provided settings.</p><p>Filename: core/Loader.php</p><p>Line Number: 346</p>    </div>

我感到迷路了。有人可以帮我吗?

编辑:对于我可以从应用程序访问Doctrine EntityManager的方式,一切似乎都可以使用。

我只是不知道我是否通过从CodeIgniter中引用我的Central应用程序index.php来正确设置控制台应用程序。

我没有使用CI的学说控制台组件,而是使用ZF1。但是我认为配置步骤是相同的。

  1. require_once'index.php'意味着您应该进行框架初始化,包括配置,模块,路线,服务(包括数据库)等的加载。-在客户端应用程序中所需的所有内容。
  2. 从步骤1开始的设置初始化学说。
  3. 配置命令
  4. 运行控制台应用程序

代码样本

$application->bootstrap('doctrine2');                                           
$configurationOptions = $application->getBootstrap()->getOptions();             
$emArr = $application->getBootstrap()->getResource('doctrine2');                
$em = $emArr['default'];                                                        
$symfonyPath = $configurationOptions['resources']['doctrine2']['lib_dir'];      
$symfonyPath .= '/Doctrine';                                                                                   
$classLoader = new DoctrineCommonClassLoader('Symfony', $symfonyPath);       
$classLoader->register();                                                                                      
$cli = new SymfonyComponentConsoleApplication('Doctrine Command Line Interface', DoctrineORMVersion::VERSION); 
$helperSet = $cli->getHelperSet();                                                                             
$helperSet->set(new DoctrineDBALToolsConsoleHelperConnectionHelper($em->getConnection()), 'db');
$helperSet->set(new DoctrineORMToolsConsoleHelperEntityManagerHelper($em), 'em');
$cli->setHelperSet($helperSet);                                                                                
$cli->setCatchExceptions(true);                                                 
$cli->addCommands(array(                                                        
    // DBAL Commands                                                            
    new DoctrineDBALToolsConsoleCommandRunSqlCommand(),                   
    new DoctrineDBALToolsConsoleCommandImportCommand(), 
    ...
));                                                                             
$cli->run(); 

相关内容

  • 没有找到相关文章

最新更新