¿Hay alguna forma de limitar la visibilidad en PHP de la misma manera que la visibilidad de "paquete" en Java o al menos la visibilidad de "amigo" en C++? ¿Cuál es la mejor práctica para mantener un gran proyecto OOP y no dejar que nadie use ninguna parte del código?PHP friend/package visibility
Utilizo visibilidad privada y protegida tanto como puedo, pero a veces no es suficiente. Sé de esta solicitud: https://bugs.php.net/bug.php?id=55331. ¿Hay algún progreso en implementar tal cosa en PHP? ¿Hay alguna solución para proteger su código (métodos, variables de clase) desde el acceso desde cualquier lugar?
No exactamente como paquetes en Java, pero [espacios de nombres] (http://php.net/manual/en/language.namespaces.php) servirá para la encapsulación de código. – Shef
¿Podría escribir un pequeño ejemplo, por favor? –
Solo un pensamiento, si realmente lo necesita, podría usar 'debug_backtrace' [http://php.net/manual/en/function.debug-backtrace.php] para ver qué código está llamando a su código. Escritura esencial de su propio control de acceso en tiempo de ejecución. Probablemente más trabajo de lo que vale, y el 'debug_backtrace' tiene un impacto en el rendimiento. – Chris