Я noob в php и symfony2.«Запрос не существует», создавая форму symfony2
Я пытаюсь создать форму, следующую за учебником http://symfony.com/doc/current/book/forms.html и некоторыми другими туто.
Я получил «внутреннюю ошибку 500», я не знаю, когда я терплю неудачу, и я нарушаю свой мозг. Вам нужны помощь, плз
журнала:
[2015-10-16 23:35:27] request.INFO: Matched route "nueva_serie". {"route_parameters":{"_controller":"Acme\\AxialBundle\\Controller\\SeriesController::nuevaAction","_route":"nueva_serie"},"request_uri":"http://pruebas.com/nueva-serie/"} []
[2015-10-16 23:35:27] security.INFO: Populated the TokenStorage with an anonymous Token. [] []
[2015-10-16 23:35:27] request.CRITICAL: Uncaught PHP Exception ReflectionException: "Class Acme\AxialBundle\Controller\Request does not exist" at /home/jjrojo/estigia/vendor/sensio/framework-extra-bundle/EventListener/ParamConverterListener.php line 83 {"exception":"[object] (ReflectionException(code: 0): Class Acme\\AxialBundle\\Controller\\Request does not exist at /home/jjrojo/estigia/vendor/sensio/framework-extra-bundle/EventListener/ParamConverterListener.php:83)"} []
[2015-10-16 23:35:27] request.INFO: Matched route "_wdt". {"route_parameters":{"_controller":"web_profiler.controller.profiler:toolbarAction","token":"884636","_route":"_wdt"},"request_uri":"http://pruebas.com/_wdt/884636"} []
routing.yml:
nueva_serie:
path: /nueva-serie/
defaults: { _controller: AcmeAxialBundle:Series:nueva}
Вот мой контроллер действия в SeriesController:
public function nuevaAction(Request $request)
{
$request = $this->getRequest();
$serie = new Serie();
$form = $this->createForm(new SerieType(), $serie);
if($request->getMethod() == 'POST')
{
$form->bindRequest($request);
if($form->isValid()){
//get data and flush
return $this->redirect($this->generateURL('lista'));
}
}
return $this->render('AcmeAxialBundle:Series:nueva.html.twig', array(
'form' => $form->createView(),
));
}
Тип, SerieType.php:
<?php
namespace Acme\AxialBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class SerieType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('titulo')
->add('imagen')
->add('descripcion');
}
public function getName()
{
return 'form_serie';
}
}
и nueva.html.twig
{% block body %}
<form action="{{ path('nueva_serie') }}" method="post">
{{ form_widget(form) }}
<input type="submit" />
</form>
{% endblock %}
Спасибо за вашу помощь.
Я получил это заявление, вы правы, это излишнее, но это не обязательно, если я удалить строку запроса и если bucle, я получил те же провал. – Juanjo
Класс 'Acme \ AxialBundle \ Controller \ Request' не найден, потому что в этом пространстве имен нет класса с именем Request. Класс 'Symfony \ Component \ HttpFoundation \ Request' существует, но поскольку вы не используете этот класс в своем файле, он не может его найти. Если вы удалили инъекцию в метод, вы получили бы другую ошибку php. tldr: да, это ошибка: p – skrilled
Skrilled прав, просто добавьте инструкцию «use», и ваша ошибка исчезнет. –