2008-10-13 9 views
7

He estado trabajando con el framework Joomla y me he dado cuenta de que usan una convención para designar métodos privados o protegidos (ponen un guión bajo "_" delante del nombre del método), pero no declaran explícitamente ningún método public, private, o protected. ¿Por qué es esto? ¿Tiene que ver con la portabilidad? ¿Las palabras clave public, private, o protected no están disponibles en versiones anteriores de PHP?¿Por qué no utilizar 'protegido' o 'privado' en PHP?

Respuesta

17

público, privado y protegido son palabras clave PHP5. desafortunadamente, PHP4 todavía tiene una base de instalación muy alta (especialmente entre los servicios de alojamiento compartido).

aquí hay un pretty pic mostrando las tasas de uso de julio (texto en francés). spoiler: php4 todavía tiene una tasa de uso de más del 35%.

+0

PHP4 generará una advertencia E_STRICT. –

+0

E_STRICT se introdujo en PHP5, a menos que malinterprete lo que dices – Owen

+0

Lo contrario sucedió durante un tiempo: las primeras versiones de PHP 5 se quejaron cuando se usaba "var". – flussence

3

Hay algunos buenos argumentos para no usar métodos y propiedades private aquí: http://aperiplus.sourceforge.net/visibility.php

Incluye: hace que el código de codificación y lectura más difícil. Hace que las clases de reutilización y la depuración sean más difíciles.

No he sido vendido de ninguna manera, pero me gustaría ver una refutación informada de ese artículo, si existe.

+0

+1 por un enlace muy interesante (y persuasivo) . Entonces, en los últimos dos años, ¿qué camino eligió? – akTed

+0

Heh, en los últimos dos años, no he hecho mucha codificación PHP: P. pero generalmente estoy a favor de darle a la gente suficiente cuerda :) – naught101

Cuestiones relacionadas