$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:----oblugMpZ+Riwv5Xfi6etYwOnrCnO+Pmi2aMUJSS17KH1Il2OxmyOhR5+hDtlNM0/FKeDNUEiiHP1v8drlw+VYYJGUblwSnEv+LzT7DI7CL4pquRjyCRmafWBLbSvLHWt70xV9RzOu0S+2lhjF3YdqeRqLCP4b262klryVS2A7jp3p8CGuYiP0Xitg9oBjMu8+HpVxANXT0HubepqEkjIZTfRC8dD9Ooaehir6vtZx2sBEqQEmr0Iumg7560LptodwCVW2kATWJ9Bp1+36373+BjKjiOd9s0rSkpQY/TLhDjMhikbTPxfGPHkr+u33HihZoclv2XNZEjPV5MAYyUB1krXUjDbuK2uwpPJNs9JSOBZTAf//a6HtqiCPvRheyf3VRu/l0ClseHaZFW+IK9L8HZbWH9n9SbsftKyQjMkcX+paRYMcKBXUDHqbue45FyW3j8cl8L9LQg8I/g2+bl9DNcY+uJaz82xbuKP76GYBl3z0spe/0AkZ3tpcRq+cxg8zkiLgEq0UdXbNueYqQItd9k5zgO81G18OHjYKIC/mFncHYaDBYzSiBQMgPPWg9xcXQrg/lskcEsY2kIWjRcq9x/pIpsvcHLUdLYgiRwnyBJTGKz/d/zbdmPqjgVg1cKejq9OD7zqBdfE1nsfltknWkWX2HRhywh0UDQiJ9R1ULA=----ATTACHMENT:----MTQ4NDgwMDg0OTExMDc5MiAxOTk3NTMwMzM0OTI2ODc0IDE1MDM1ODE4NTgwNzY2Njc=