Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

666
Views
¿Cómo puedo usar atributos php8 en lugar de anotaciones en la doctrina?

Esto es lo que me gustaría usar:

 #[ORM\Column(type: "string")]

en lugar de esto:

 /** * @ORM\Column(type="string") */

Pero estoy recibiendo este error:

 (error: Class 'Column' is not annotated with 'Attribute' )

¿Es porque Doctrine aún no lo admite, o me estoy perdiendo algo?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

EDITAR: Doctrine 2.9 ahora se lanza con compatibilidad con atributos de PHP 8.

Las anotaciones de PHP 8 se fusionaron en la rama Doctrine ORM 2.9.x que aún no se ha publicado: https://github.com/doctrine/orm/pull/8266

Aquí está la referencia de la documentación relacionada con esta característica: https://www.doctrine-project.org/projects/doctrine-orm/en/current/reference/attributes-reference.html

over 4 years ago · Santiago Trujillo Report

0

Como dice @Seb33300, sí, ahora es posible en Doctrine ORM 2.9. Pero para Symfony necesitas hacer un poco más que eso. Aquí hay una lista completa de pasos para actualizar:

  1. Actualizar Doctrine ORM: "doctrine/orm": "^2.9" .

  2. Actualizar Doctrine Bundle: "doctrine/doctrine-bundle": "^2.4" .

  3. Establezca la doctrine.orm.mappings.App.type: attribute (de forma predeterminada, está configurado en annotation ):

     # config/packages/doctrine.yaml doctrine: orm: mappings: App: type: attribute
  4. Aplique cambios similares a sus entidades:

     --- Dummy.php.old Mon Jun 07 00:00:00 2021 +++ Dummy.php Mon Jun 07 00:00:00 2021 @@ -7,15 +7,11 @@ use App\Repository\DummyRepository; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass = DummyRepository::class) - */ +#[ORM\Entity(repositoryClass: DummyRepository::class)] class Dummy { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type = 'integer') - */ + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(type: 'integer')] private $id; }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!