He estado en un proyecto el cual involucra clases y mayormente es usado en servidores que tienen PHP4. Este proyecto también ha sido instalado en servidores con PHP5.
Ya he leído que en PHP4 no se pueden tener miembros y/o métodos privados, sin embargo, consultando en la red me he encontrado que cuando a un método se le antecede un "underscore" (por ejemplo: _mifuncion), en el momento de ser ejecutado en un servidor con PHP5, éste reconoce que es un método privado y lo "traduce" a: private mifuncion.
Pues el asunto es que tengo que desarrollar algunas clases nuevas en este proyecto y debo hacer algo que corra transparentemente tanto para PHP4 como PHP5. No me preocupa el hecho de que en PHP4 los métodos y miembros que deben ser privados no lo sean en realidad.
Lo que más me interesa es crear código que pueda correr en PHP4 sin problemas, warnings ni errores (aunque no tenga funciones ni miembros privados) y que ese mismo código se ejecute transparente en PHP5 pero aquí sí obedeciendo que cosas son públicas y cuáles son privadas.
Me pregunto si este código "transparente" puede ser así:
Código PHP:
class claseprueba {
$varpublica = 'valor';
$_varprivada = 'otro_valor';
function funcpublica() {
}
function _funcprivada() {
}
}
Gracias!
PD: sé que php4 ya se considera "deprecated", pero los servidores que tienen php4 no se piensa migrarlos a php5 en un buen tiempo.