我想从服务中获取我的表格,但无论我做什么,它都行不通。
我在YML中有服务
services:
myservice:
class: AppBundle\Service\Myservice
arguments: ["@doctrine.orm.entity_manager","@form.factory"]
然后在AppBudle \ Service \ Myserivce.php中:
namespace AppBundle\Service;
use Doctrine\ORM\EntityManager;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\TextType;
class Myservice {
protected $em;
protected $formFactory;
public function __construct(EntityManager $entityManager, FormFactoryInterface $formFactory) {
$this->em = $entityManager;
$this->formFactory = $formFactory;
}
// GENERATE CALCULATOR FORM
public function generateCalculatorForm() {
return 'ffffsdsd';
}
}
但我得到了
捕获致命错误:传递给AppBundle \ Service \ Myservice :: __ construct()的参数2必须是AppBundle \ Service \ FormFactoryInterface的实例,给出Symfony \ Component \ Form \ FormFactory的实例,在D:\ xamp \中调用第409行的htdocs \ icp \ var \ cache \ dev \ appDevDebugProjectContainer.php并定义了
这里有什么问题?我已经尝试了几乎所有我在网络上找到的东西,但是无法让它发挥作用。
答案 0 :(得分:1)
http://php.net/manual/en/language.namespaces.php
如果名称/接口名称的名称未满,则它将以当前名称空间名称作为前缀。
设置FormFactoryInterface
的全名或将其添加到use
语句
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormFactoryInterface;