Si son exclusivamente los datos los que quieres mantener entre instancias, no tienes por qué convertir todos los métodos de la clase en estáticos..Con hacer la variable estática, es bastante.
Código PHP:
Ver originalclass CodigoPais {
private static $codigos = null;
private static $contador=0;
function CodigoPais() {
$this->cargaCodigos();
}
private function cargaCodigos()
{
if(CodigoPais::$codigos!==null)
return;
/*
...query, y almacenado de datos en CodigoPais::$codigos
*/
}
}
Ahora bien, si vas tambien a modificar o hacer operaciones con esos datos, y quieres tener control sobre ello, deberias convertir la clase en un Singleton.