== Why is this an issue? Explicitly declaring method visibility provides clarity and improves code readability. This leads to: * Simplifying access to and use of the methods for other developers, enhancing the maintainability of the codebase. * Promoting the principle of encapsulation, allowing you to control the accessibility of methods and prevent unintended access or modifications from external code. By explicitly stating the visibility, you establish a clear contract for how the methods should be interacted with, making it easier to understand and reason about the behavior of the code. Available access modifiers are: * ``++private++`` - access allowed only within the same class * ``++protected++`` - access allowed to the class and its child classes * ``++public++`` - unfettered access by all (default) == How to fix it === Code examples ==== Noncompliant code example [source,php,diff-id=1,diff-type=noncompliant] ---- function foo(){...} ---- ==== Compliant solution [source,php,diff-id=1,diff-type=compliant] ---- private function foo(){...} ---- == Resources === Documentation * https://www.php.net/manual/en/language.oop5.visibility.php[PHP Manual - Visibility] * https://www.w3schools.com/php/php_oop_access_modifiers.asp[W3Schools - Access Modifiers] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] endif::env-github,rspecator-view[]