Czy istnieje sposób ograniczenia widoczności w PHP w taki sam sposób, jak widoczność "pakietu" działa w Javie lub przynajmniej widoczność "przyjaciela" w C++? Jaka jest najlepsza praktyka, aby utrzymać duży projekt OOP i nie pozwolić nikomu korzystać z jakiejkolwiek części kodu?Znajomość/widoczność pakietu PHP:
Używam prywatnej i chronionej widoczności tak często jak tylko mogę, ale czasami to za mało. Wiem o tym żądaniu: https://bugs.php.net/bug.php?id=55331. Czy jest jakiś postęp w implementacji tego czegoś do PHP? Czy istnieje sposób obejścia zabezpieczenia kodu (metod, zmiennych klasowych) przed dostępem z dowolnego miejsca?
Nie tak jak pakiety w Javie, ale [namespaces] (http://php.net/manual/en/language.namespaces.php) będą służyć do enkapsulacji kodu. – Shef
Czy możesz podać krótki przykład? –
Po prostu myśl, jeśli naprawdę potrzebujesz, możesz użyć 'debug_backtrace' [http://php.net/manual/en/function.debug-backtrace.php], aby zobaczyć, jaki kod wywołuje twój kod. Zasadniczo pisanie własnej kontroli dostępu do środowiska wykonawczego. Prawdopodobnie więcej pracy niż jest warta, a 'debug_backtrace' ma wydajność. – Chris