如何在自定义主文件中访问Symfony组件

Man*_*mar 1 php batch-file symfony symfony-2.6

我正在制作一个批处理文件,它将从DB获取一些数据并发送电子邮件.Batch在同一级别创建一个文件夹app and web.现在我的问题是 - 如何从控制器中访问数据库和其他控件.

我试图导入 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;但它给出错误说没有找到这样的文件.

我不希望它成为命令/控制台应用程序.

我的目标是通过保持在bundle/controller外部来创建一个使用symfony组件和Doctrine的文件.如何导入文件中的文件?

Mar*_*rio 5

首先,我真的建议为此创建一个Symfony控制台命令.

但是如果你真的想test.php在你的文档根目录中创建一个文件(比如说),你可以像这样加载一个symfony服务:

<?php
require __DIR__.'/app/autoload.php'; // load the autoloader

$kernel = new AppKernel('prod', false); // create a kernel instance
$kernel->loadClassCache(); // load the class cache
$kernel->boot(); // boot the kernel which will initialise the container.

$myInstance = $kernel->getContainer()->get('myservice');

$myInstance->doWhatever();
Run Code Online (Sandbox Code Playgroud)

PS:在那里你也应该能够使用所有其他symfony组件.

PPS:Notice: Use of undefined constant OCI_COMMIT_ON_SUCCESS - assumed 'OCI_COMM IT_ON_SUCCESS'错误告诉您oci8扩展程序有问题尝试重新安装/安装或再次启用它.http://php.net/manual/en/oci8.installation.php