Видимость PHP / пакета

Есть ли способ ограничить видимость в PHP так же, как видимость «пакета» работает в Java или, по крайней мере, «знакомая» видимость на C ++? Какова наилучшая практика для поддержания большого проекта ООП, и чтобы никто не использовал какую-либо часть кода?

Я использую конфиденциальную и защищенную видимость настолько, насколько могу, но иногда этого недостаточно. Я знаю об этом запросе: https://bugs.php.net/bug.php?id=55331 . Есть ли прогресс в реализации такой вещи для PHP? Есть ли способ обхода, чтобы защитить ваш код (методы, переменные класса) от доступа из любого места?

Solutions Collecting From Web of "Видимость PHP / пакета"

Как указано здесь :

Нет. Вы можете установить переменную после объявления пространства имен, но переменные всегда будут существовать в глобальной области. Они никогда не привязаны к пространствам имен. Вы можете сделать вывод, что из-за отсутствия описания описания имен в http://www.php.net/manual/en/language.namespaces.faq.php

До сегодняшнего дня не существует языковой конструкции для ограничения видимости. Но вы можете аннотировать свой класс с помощью phpDocumentor's @internal :

Тег @internal может использоваться как аналог тега @api , указывая, что связанные структурные элементы используются исключительно для внутренней работы этого программного обеспечения.

Пользователь должен следовать этому предложению.