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

189
Views
¿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
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!