Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour je débute en Zend Framework 2 je suis un tutoriel et j'Ai un bug sur mon code: le message d'erreur est
Class 'Blog\Form\Add' not found in C:\wamp64\www\ZendAZ\module\Blog\src\Blog\Controller\IndexController.php
voici mon code dans IndexController
<?php namespace Blog\Controller; use Blog\Form\Add; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; /** * Created by PhpStorm. * User: cedlp * Date: 30/01/2018 * Time: 22:53 */ class IndexController extends AbstractActionController { public function indexAction(){ return new ViewModel(); } public function addAction(){ $form = new Add(); if ($this->request->isPost()){ $form->setData($this->request->getPost()); /** * @todo Save blog post */ } return new ViewModel(array( 'form' => $form, )); } }
voici celui dans le Blog/Form
<?php /** * Created by PhpStorm. * User: cedlp * Date: 30/01/2018 * Time: 23:24 */ namespace Blog\Form; use Zend\Form\Form; use Zend\Form\Element; class Add extends Form { public function __construct() { parent::__construct('add'); $title = new Element\Text('title'); $title->setLabel('Title'); $title->setAttribute('class', 'form-control'); $slug = new Element\Text('slug'); $slug->setLabel('Slug'); $slug->setAttribute('class', 'form-control'); $content = new Element\Textarea('Content'); $content->setLabel('Content'); $content->setAttribute('class', 'form-control'); $category = new Element\Select('Category'); $category->setLabel('Category'); $category->setAttribute('class', 'form-control'); $category->setValueOptions(array( 1 => 'PHP', 2 => 'Zend Framework', 3 => 'MySQL', )); $submit = new Element\Submit('Submit'); $submit->setValue('Add','Post'); $submit->setAttribute('class','btn btn-primary'); $this->add($title); $this->add($slug); $this->add($content); $this->add($category); $this->add($submit); } }
et voici celui dans add.phtml
<h1>add blog post</h1> <?php /** @var \Zend\Form\Form $form */ $form = $this->form; $form->prepare(); echo $this->form()->openTag($form); // <form action="" method="post "> ?> <div class="form-group"> <?php echo $this->formRow($form->get('title')); ?> </div> <div class="form-group"> <?php echo $this->formRow($form->get('slug')); ?> </div> <div class="form-group"> <?php echo $this->formRow($form->get('content')); ?> </div> <div class="form-group"> <?php echo $this->formRow($form->get('category')); ?> </div> <div class="form-group"> <?php echo $this->formSubmit($form->get('submit')); ?> </div> <?php echo $this->form()->closeTag(); ?>
Ce que je comprend pas j'ai déjà bien déclaré la class mais l'erreur persiste si quelqu'un peu m'aider Merci d'avance
Hors ligne
Bonjour !
Comment fais-tu l'autoloading ? Avec composer ? Ça peut éventuellement venir de là, vérifie tes settings et refais un composer dump-autoload.
Sinon, vérifie le nom de ton fichier Add.php, car à priori ton Controller est bien autoloadé, donc ça peut venir de là
Hors ligne
Merci de la réponse tdutrion
je me suis trompé avec mon arborescence hihi
le dossier Form été dehors alors qu'il aurait dut être dans le même que celui de Controller
Hors ligne
Pages: 1