Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

664
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda