Pregunta

¿Qué significa cuando el nombre de una función PHP comienza con un guión bajo?

por ejemplo: __construct()

Sé lo que significa la construcción, pero he visto otros lugares donde la función comienza con un guión bajo, o un guión bajo doble y simplemente no estoy seguro de la importancia.

¿Fue útil?

Solución

Significa que PHP lo llama implícitamente.

Se llama un "Método Mágico"

Además, son dos guiones bajos, no uno.

Obtenga más información aquí: Métodos mágicos de PHP

Otros consejos

En PHP, las funciones comienzan con dos guiones bajos generalmente tienen significados especiales. Del manual:

  

PHP reserva todos los nombres de funciones   comenzando con __ como mágico. Es   recomienda que no uses   nombres de funciones con __ en PHP a menos que   quieres algo de magia documentada   funcionalidad.

Por ejemplo, __construct () es un método especial que se llama automáticamente al inicializar un objeto.

Véase también: http://php.net/manual/en/ language.oop5.magic.php

También hay un nombre común "estilo de codificación" que utiliza un guión bajo inicial para indicar que los métodos o propiedades son privados / protegidos. Creo que está bastante extendido.

Como se señaló en otras respuestas, el doble guión bajo se usa para `` magia '' métodos La idea es que el usuario nunca use intencionalmente dos guiones bajos para un nombre de método, por lo que hay poco riesgo de colisión. La razón por la que no es un solo guión bajo, creo, es que el guión bajo único era una convención popular para los métodos privados en los viejos tiempos, antes de que apareciera la palabra clave 'privada' para imponer la privacidad OO.

En codeigniter, si inicia un método en un controlador con un guión bajo, el enrutador sabrá que no debe permitir el acceso desde la url.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top