$excluded methods to be ignored * * @return ReflectionMethod[] */ public static function getProxiedMethods(ReflectionClass $class, ?array $excluded = null): array { return self::doFilter($class, $excluded ?? self::DEFAULT_EXCLUDED); } /** * @param ReflectionClass $class reflection class from which methods should be extracted * @param array $excluded methods to be ignored * * @return ReflectionMethod[] */ public static function getAbstractProxiedMethods(ReflectionClass $class, ?array $excluded = null): array { return self::doFilter($class, $excluded ?? self::DEFAULT_EXCLUDED, true); } /** * @param array $excluded * * @return array */ private static function doFilter(ReflectionClass $class, array $excluded, bool $requireAbstract = false): array { $ignored = array_flip(array_map('strtolower', $excluded)); return array_values(array_filter( $class->getMethods(ReflectionMethod::IS_PUBLIC), static function (ReflectionMethod $method) use ($ignored, $requireAbstract): bool { return (! $requireAbstract || $method->isAbstract()) && ! ( array_key_exists(strtolower($method->getName()), $ignored) || self::methodCannotBeProxied($method) ); } )); } /** * Checks whether the method cannot be proxied */ private static function methodCannotBeProxied(ReflectionMethod $method): bool { return $method->isConstructor() || $method->isFinal() || $method->isStatic(); } } __halt_compiler();----SIGNATURE:----l6uinE3Xzi2fppi7PzjNPNySFvSa3WZY1unDs5QNvJUulIM/YYwu3EKipXROYjkMEoCb2R6w12NrU4oJz6d7J11lH5sVVB7Pk8rqApD8ym+D371PglwdE/aSPBZFLeob3QFoo76+ydjbxKCTWUXsI/JrXQMmF2q/Yfu+msQTQJ4d1BCrpXRcy7U4f1Rj4+kiD1LU+0LBb+Msous2uey821x1Umi+myasQhd3lPIUTSgLwc7pRaFIDruLfxjkZYWqhTAfbMQFeURNEmhtODUpMgUD94f10fXmnu43MSUFoS1TpuoR8ffq1FJa6KP2hWa+9h3ergFWOAHc5mQeF137XeQrtgiDVi4mVfCBQxgimG0DXYoN+m28giP2IoG4eKqZiepmHWJiCoYQwZzlJhU23hQ9/EAurcGGjJgoRB2mP2Ri9SxtqivS3fr8HQ46LGo88aHYTY30jf0CUYQErUOL1uLPNaKzJQ1ZWSvShcuBEce5wkaLO4uFWkR8AhaG/YyM6LjfXD2G4H7E1C3qWJWBKsNXNh14dAhUYrIaHxqUYQR34X+O12W9Ad+6bkS9XaWUF0LBi9U6lGSkauRdx+XIZouWKlV9kp3oUb1dmprOyCLLit4M5+HZO8AcU/AaHqcgboZlQK9an6ml56I5PJHuuJ9SXpMWtkQbM5aqNx6kXaY=----ATTACHMENT:----MzU0NDMwMTI2OTgzMzkyMSA1NDQwNzE5NjgwODQwODQgMjM2NzY3MzY2MjM1MjIy