Ich habe eine symfony -App, dort habe ich in die routes.yaml den Controller eingetragen, der aber nicht erkannt wird.
Hier die Datei ./config/routes/routes.yaml:
Hier der Controller ./src/Controller/StudentController.php
Jetzt motzt symfony rum: Class "AppBundle\Controller\StudentController" does not exist in C:\....../config\../src/Controller/ (which is being imported from "C:\...../config/routes.yaml"). Make sure there is a loader supporting the "annotation" type.
Wenn ich in der routes.yaml-Datei folgende Zeile hinzufüge…
type: annotation
... ändert sich nix.
Ich konnte auch durch das Anlegen einer annotations.yaml nichts ändern. Kennt jemand dieses Problem?
Hier die Datei ./config/routes/routes.yaml:
HTML-Code:
# config/routes.yaml app: path: / controller: App\Controller\StudentController::newAction
PHP-Code:
<?php
namespace AppBundle\Controller;
use AppBundle\Entity\StudentForm;
use AppBundle\Form\FormValidationType;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\RangeType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\ButtonType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\PercentType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
class StudentController extends Controller {
/**
* @Route("/student/new")
*/
public function newAction(Request $request) {
$stud = new StudentForm();
$form = $this->createFormBuilder($stud)
->add('studentName', TextType::class)
->add('studentId', TextType::class)
->add('password', RepeatedType::class, array(
'type' => PasswordType::class,
'invalid_message' => 'The password fields
must match.', 'options' => array('attr' => array('class' => 'password-field')),
'required' => true, 'first_options' => array('label' => 'Password'),
'second_options' => array('label' => 'Re-enter'),
))
->add('address', TextareaType::class)
->add('joined', DateType::class, array(
'widget' => 'choice',
))
->add('gender', ChoiceType::class, array(
'choices' => array(
'Male' => true,
'Female' => false,
),
))
->add('email', EmailType::class)
->add('marks', PercentType::class)
->add('sports', CheckboxType::class, array(
'label' => 'Are you interested in sports?', 'required' => false,
))
->add('save', SubmitType::class, array('label' => 'Submit'))
->getForm();
return $this->render('student/new.html.twig', array(
'form' => $form->createView(),
));
}
}
Jetzt motzt symfony rum: Class "AppBundle\Controller\StudentController" does not exist in C:\....../config\../src/Controller/ (which is being imported from "C:\...../config/routes.yaml"). Make sure there is a loader supporting the "annotation" type.
Wenn ich in der routes.yaml-Datei folgende Zeile hinzufüge…
type: annotation
... ändert sich nix.
Ich konnte auch durch das Anlegen einer annotations.yaml nichts ändern. Kennt jemand dieses Problem?
Kommentar