Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Symfony\Component\Validator\Validation działa tylko raz
Forum PHP.pl > Forum > Przedszkole
Lord
  1. $validator = Validation::createValidatorBuilder()
  2. ->enableAnnotationMapping()
  3. ->getValidator();
  4.  
  5. ....
  6.  
  7. $errors = $validator->validate($shop);



  1. namespace AppBundle\Entity;
  2.  
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Validator\Constraints as Assert;
  5.  
  6. /**
  7.  * Shop
  8.  * @ORM\Table(name="shops")
  9.  * @ORM\Entity(repositoryClass="AppBundle\Repository\Entity\ShopRepository")
  10.  */
  11.  
  12.  
  13. class Shop
  14. {
  15. /**
  16.   * @var int
  17.   *
  18.   * @ORM\Column(name="id", type="integer")
  19.   * @ORM\Id
  20.   * @ORM\GeneratedValue(strategy="AUTO")
  21.   */
  22. private $id;
  23.  
  24. /**
  25.   * @var string
  26.   *
  27.   * @ORM\Column(name="name", type="string", length=128, unique=true)
  28.   */
  29. private $name;
  30.  
  31. /**
  32.   * @var string
  33.   *
  34.   * @ORM\Column(name="logoUrl", type="string", length=255, nullable=true, unique=true)
  35.   * @Assert\Url()
  36.   */
  37. private $logoUrl;
  38.  
  39. /**
  40.   * @var bool
  41.   *
  42.   * @ORM\Column(name="isActive", type="boolean")
  43.   */
  44. private $isActive;
  45.  
  46. /**
  47.   * @var int
  48.   *
  49.   * @ORM\Column(name="program", type="integer")
  50.   * @Assert\Type(
  51.   * type="bool",
  52.   * message="The value is not a valid {{ type }}."
  53.   * )
  54.   */
  55. private $program;
  56.  
  57. /**
  58.   * @var string
  59.   *
  60.   * @ORM\Column(name="url", type="string", length=255, unique=true)
  61.   *
  62.   */
  63. private $url;
  64.  
  65. /**
  66.   * @var string
  67.   *
  68.   * @ORM\Column(name="trackingUrl", type="string", length=255)
  69.   */
  70. private $trackingUrl;


I działa mi to tylko raz.

Wystarczy, że dam enter(zmodyfikuje dowolnie plik) w pliku shop.php i skrypt działa poprawnie ale tylko za pierwszym razem. A po kolejnym wywołaniu skryptu (wiersz poleceń) wywala mi błąd:

  1. [Doctrine\Common\Annotations\AnnotationException]
  2. [Semantical Error] The annotation "@Doctrine\ORM\Mapping\Table" in class Ap
  3. pBundle\Entity\Shop does not exist, or could not be auto-loaded.


http://forum.symfony-project.org/forum/23/topic/31046.html

dokładnie ten sam problem, ale nie ma rozwiązania tongue.gif adnotacje dalej nie działają, wersja PHP działa poprawnie.

Gdzieś tam wyczytałem że Doctrine domyślnie ignoruje inne adnotacje ;P ale jak to poprawić?
Pyton_000
Odpalasz testy czy po prostu jakiś command?
Czy za każdym razem odpalasz z konsoli i za pierwszym razem działa a za drugim już nie?

Spróbuj też wywalć cały cache w SF
Lord
Command
Za każdym razem jak zmienie plik z classa shop to działaja adnotacje.

to jest niby rozwiązanie mojego problemu
http://docs.doctrine-project.org/projects/...ml#introduction

ale troche nieumiem tego poskładać w całość, gdzies tam widziałem zmodyfikowany plik autoload.php ale dla mnie to nie działało w 100% tongue.gif

PS. Symfony 3
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.