Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

273
Visualizações
¿Por qué usar la palabra clave "usar" en PHP para importar identificadores principales?

A veces, en algunas bibliotecas como thephpleague/csv , veo la palabra clave use para importar identificadores centrales (por ejemplo, funciones, clases o constantes), pero no puedo entender por qué se importan.

Vea el siguiente ejemplo:

 use Generator; use SplFileObject; use function filter_var; use function get_class; use function mb_strlen; use function rawurlencode; use function sprintf; use function str_replace; use function str_split; use function strcspn; use function strlen; use const FILTER_FLAG_STRIP_HIGH; use const FILTER_FLAG_STRIP_LOW; use const FILTER_SANITIZE_STRING;

O más desde aquí .

Estas clases, funciones y constantes que se importan en este archivo pertenecen al núcleo de PHP, por lo que en realidad no necesitaríamos importarlas.

¿Por qué esta y otras bibliotecas importan estos?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Cuando estás en un espacio de namespace , cada nombre simple se refiere a un nombre dentro de ese espacio de nombres. Es decir:

 namespace Foo; echo bar();

bar aquí realmente significa Foo\bar .

Hay reglas para los respaldos a los nombres globales si el nombre no existe dentro de este espacio de nombres. Si no quiere confiar en esas reglas, o si realmente tiene esos nombres definidos en su espacio de nombres y no quiere tener que escribir constantemente \bar() explícitamente, es cuando puede use explícitamente esos nombres globales para que quede claro que bar se refiere a \bar y no a Foo\bar .

Probablemente no sea necesario la mayoría de las veces para los nombres integrados de PHP, pero tal vez el autor del proyecto simplemente lo haya establecido como regla para evitar errores debido a la ambigüedad en la resolución del espacio de nombres.

over 4 years ago · Santiago Trujillo Relatório

0

El objetivo con esto es realizar una (micro) optimización del rendimiento, como se describe aquí . ( Enlace archivado , por si acaso).

La idea es que al evitar la búsqueda de nombres globales y omitir las reglas de respaldo , se puede obtener algo de rendimiento.

Tenga en cuenta que con cualquier carga de trabajo de la vida real, estas ganancias son insignificantes e intrascendentes, y en su mayoría se vuelven irrelevantes debido al almacenamiento en caché del código de operación. Sin embargo, la ganancia de rendimiento, por pequeña que sea, existe.

Puede leer una discusión larga e interesante sobre esto:

  • Reddit discutiendo el artículo vinculado arriba
  • Proyecto Symfony que decide no aplicar esta optimización
  • Archivo Léame para un script que realiza esta optimización automáticamente
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda