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

184
Vistas
¿Está en desuso el enlace estático tardío en los miembros de características de PHP 8.1?

Hay un aviso de obsolescencia existente para PHP8.1 que indica:

Está obsoleto llamar a un método estático o acceder a una propiedad estática directamente en un rasgo. Solo se debe acceder a los métodos y propiedades estáticos en una clase que use el rasgo.

El ejemplo dado en el RFC asociado muestra el acceso a un miembro estático desde el rasgo directamente, desde fuera del rasgo/clase. Sin embargo, es ambiguo si esto se aplica a contextos propios/estáticos dentro de los rasgos. Lo que me interesa es si esta desaprobación se aplica al acceso a miembros de clase estáticos desde el rasgo internamente, por ejemplo:

 trait SupportsArrayBackedValues { abstract public static function cases(); public function backedValueArray(): array { return array_map(fn($case) => $case->value, static::cases()); } }

PhpStorm 2021.3.1 muestra una advertencia de obsolescencia como tal cuando se usa static::cases() :

Llamar directamente a un miembro de rasgo estático está en desuso. Solo se debe acceder en una clase que use el rasgo.

Pero no estoy seguro de si esto es legítimo o si se trata de un error en la forma en que analizan la inspección. La inspección ofrece convertir a self::cases() , que continúa mostrando una advertencia de desaprobación. Sin embargo, no puedo encontrar problemas rastreados en YouTrack de IntelliJ para este problema, lo que indica que es un error.

Si este es un aviso de inspección válido, ¿existe una forma adecuada de implementar la funcionalidad que busco o, de manera más general, acceder a miembros estáticos de una clase desde dentro de un rasgo? (es decir, en mi escenario, convertir una enumeración respaldada en una matriz de valores de cadena/enteros, en lugar de instancias de enumeración).

over 4 years ago · Santiago Trujillo
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