Joomla! está diseñado para funcionar tanto con entorno PHP 4 y PHP 5. Esto tiene un
impacto sobre la forma de construir las clases y objetos de uso en Joomla!, los cuales vamos a
discutir en esta sección. Joomla! ha optado por seguir utilizando el PHP 4, por razones de compatibilidad con versiones anteriores, todavía son muchos los servidores web utilizando PHP 4. Como desarrolladores, debemos seguir el ejemplo y siempre construir nuestras extensiones compatibles con PHP 4 y PHP 5 a pesar del hecho de que puede restringir algunas cosas.
Hay algunas cosas importantes que tenemos que tener en cuenta antes de empezar, la creación y utilización de clases.
Empezaremos buscando algunas convenciones de nombres.
- Los nombres de clase deben comenzar con una letra mayúscula.
- Todos los elementos deben utilizar el nombre estándar camelCase.
- Los nombres de método debe comenzar con una letra minúscula.
- Los elementos públicos deben comenzar con un guión bajo.
Como solo PHP 5, y versiones superiores soportan modificadores de acceso, usamos una convencion especial
de nombres para indicar elementos no publicos. Métodos y propiedades que son
no público se preceden con un guión.
A menudo, pasamos y devolvemos objetos y arrays por referencia. Hacer esto significa que
múltiples variables pueden 'apuntar' al mismo objeto o arrays. Tenga en cuenta los objetos en PHP 5
siempre son pasados por referencia. Los métodos, funciones y parámetros que son devueltos y
son pasados por referencia son precedidos por un signo de ampersand. Cuando usamos un método
o una función que nos devuelve una referencia, debemos utilizar el operador & = como la asignación
siguiendo el ejemplo de muestra:
function &go()
{
$instance = new stdCla
return $instance;
}
$reference =& go();
Cuando los objetosson pasados por referencia hay que tener en cuenta que las versiones de PHP 5 y superior
manipulan los objetos de manera diferente. En PHP 5, los objetos son pasados automáticamente por referencia
(aunque técnicamente no es lo mismo que las referencias, los efectos son esencialmente los mismos).






