:operationName: function :visibility: private include::../why.adoc[] It also raises on unused protected functions in PHP enumerations. In PHP enumerations private and protected are equivalent because inheritance is not allowed. === Code examples ==== Noncompliant code example [source,php,diff-id=1,diff-type=noncompliant] ---- class Foo { private function __construct() {} // Compliant, private empty constructor intentionally used to prevent any direct instantiation of a class. public static function doSomething() { $foo = new Foo(); ... } private function unusedPrivateFunction() {} // Noncompliant } enum ExampleEnum { case FIRST_CASE; private function unusedPrivateFunction() {} // Noncompliant protected function unusedProtectedFunction() {} // Noncompliant } ---- ==== Compliant solution [source,php,diff-id=1,diff-type=compliant] ---- class Foo { private function __construct() {} // Compliant, private empty constructor intentionally used to prevent any direct instantiation of a class. public static function doSomething() { $foo = new Foo(); } } ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]