Php Symfony2.1:获取以下错误致命错误:Class'Acme\……..和#39; 在中找不到
这可能很简单,但我被难住了。下面是我试图做的将csv文件加载到实体中。我找到了一个php插件,但不知道如何安装,因此我下载了该插件,并将脚本读取到我的捆绑包Acme\StoreBundle中的csv文件,并实际将脚本(sfCsvReader.php)放在捆绑包的实体文件夹中。当我尝试在web上运行该插件时,我得到以下错误 致命错误:在第26行的/home/jan/symfonysandbox/src/Acme/StoreBundle/Controller/LoadCSVController.php中找不到类“Acme\StoreBundle\Controller\sfCsvReader” 我的控制器文件如下Php Symfony2.1:获取以下错误致命错误:Class'Acme\……..和#39; 在中找不到,php,symfony,Php,Symfony,这可能很简单,但我被难住了。下面是我试图做的将csv文件加载到实体中。我找到了一个php插件,但不知道如何安装,因此我下载了该插件,并将脚本读取到我的捆绑包Acme\StoreBundle中的csv文件,并实际将脚本(sfCsvReader.php)放在捆绑包的实体文件夹中。当我尝试在web上运行该插件时,我得到以下错误 致命错误:在第26行的/home/jan/symfonysandbox/src/Acme/StoreBundle/Controller/LoadCSVController.ph
<?php
namespace Acme\StoreBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Acme\StoreBundle\Entity\Congress;
use Acme\StoreBundle\Entity\sfCsvReader;
use Symfony\Component\HttpFoundation\Response;
class LoadCSVController extends Controller
{
/**
* @Route("/load/{name}")
* @Template()
*/
public function indexAction()
{
$congress = new Congress();
$path = '~/Documents/congress.csv';
$reader = new sfCsvReader($path);
$reader->setSelectColumns('column_A, column_B');
$reader->open();
while ($data = $reader->read())
{
$congress->setTitle($data['column_A']);
$congress->setName($data['column_B']);
$em = $this->getDoctrine()->getManager();
$em->persist($congress);
$em->flush();
return new Response('Created congress id '.$congress->getId() .'for'.$congress->getTitle().'for'.$congress->getName());
}
$reader->close();
}
}
在调用脚本之前是否加载脚本
尝试将以下代码添加到$loader->registerNamespaces(数组(…
数组声明)中的app/autoload.php中:
'SfCsvReader' => __DIR__.'/../src/Acme/StoreBundle/Entity/sfCsvReader.php',
之后,将sfCsvReader.php文件中的名称空间重命名为名称空间sfCsvReader\sfCsvReader;
,并将控制器中请求的名称空间替换为使用sfCsvReader\sfCsvReader;
这应该可以很好地工作,但也许您应该将文件移动到更合适的目录,例如项目的vendor/sfCsvReader目录中
您可以按照Symfony 2.0文档中的建议操作
自动加载信息位于以下链接中
有关名称空间的详细信息,请参阅
'SfCsvReader' => __DIR__.'/../src/Acme/StoreBundle/Entity/sfCsvReader.php',