Is there any way to limit the visibility in PHP in the same way as “package” visibility works in Java or at least “friend” visibility in C++? What’s the best practice to maintain large OOP project and not to let anyone use any part of code?
I use private and protected visibility as much as I can but sometimes it’s not enough. I know about this request: https://bugs.php.net/bug.php?id=55331. Is there any progress in implementing such thing to PHP? Is there any workaround to protect your code (methods, class variables) from being accessed from anywhere?
Advertisement
Answer
As stated here:
No. You can set a variable after declaring a namespace, but variables
will always exist in the global scope. They are never bound to
namespaces. You can deduce that from the absence of any name
resolution descriptions in
http://www.php.net/manual/en/language.namespaces.faq.php