tipos objetos metodos example clases php oop visibility

objetos - public function php



Visibilidad predeterminada de los métodos de clase en PHP (4)

La visibilidad predeterminada es PÚBLICA

Source

Miré el manual , pero parece que no puedo encontrar la respuesta.

¿Cuál es la visibilidad predeterminada en PHP para los métodos sin una declaración de visibilidad? ¿Tiene PHP una visibilidad de paquete como en Java?

Por ejemplo, en el siguiente código, ¿es go() público o privado?

class test { function go() { } }

La razón por la que pregunté es que he visto muchos códigos de constructores escritos como function __construct() y algunos como public function __construct() . ¿Son equivalentes?


El valor predeterminado es público. El motivo probablemente sea la compatibilidad con versiones anteriores, ya que el código anterior espera que sea público (dejaría de funcionar si no fuera público).


El valor predeterminado es público. Es una buena práctica incluirlo siempre, sin embargo, las clases compatibles con PHP4 no tienen modificadores de acceso, por lo que es común no ver el uso de ellas en el código heredado.

Y no, PHP no tiene visibilidad de paquetes, principalmente porque hasta hace poco PHP no tenía paquetes.