Я ДЕЙСТВИТЕЛЬНО новичок в Symfony 4, но я следовал руководству здесь , чтобы создать форму. Я следовал точно так же, как в видео, но по какой-то причине я получаю ошибку
Аргумент 1 передан
Symfony \ Component \ Form \ FormRenderer :: renderBlock () должен быть экземпляром
Symfony \ Component \ Form \ FormView, строка, заданная
и выделяет строку
'search_form' => $ form-> createView (),
Я дергаю себя за волосы, пытаясь понять это, так как все просто говорит, что мне нужно сделать createView () ... но я делаю это. Что мне не хватает? Код ниже:
PatientSearchController.php:
<?php
namespace App\Controller;
use App\Form\PatientSearchType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
class PatientSearchController extends AbstractController
{
/**
* @Route("/patient/search", name="patient_search")
*/
public function index()
{
$form = $this->createForm(PatientSearchType::class);
return $this->render('patient_search/index.html.twig', [
'search_form' => $form->createView(),
]);
}
}
patient_search / index.html.twig:
{% extends 'base.html.twig' %}
{% block body %}
{{ form_start('search_form') }}
{{ form_widget('search_form') }}
{{ form_end('search_form') }}
{% endblock %}
PatientSearchType:
<?php
namespace App\Form;
use App\Entity\Patients;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class PatientSearchType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('PatientId')
->add('Address1')
->add('Address2')
->add('City')
->add('State')
->add('Phone1')
->add('Phone2')
->add('Email')
->add('DateOfBirth')
->add('InsuranceId')
->add('InsuranceNo')
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Patients::class,
]);
}
}