ReflectionClass::getMethod
ReflectionClass::getModifiers
ReflectionClass
PHP Manual

# ReflectionClass::getMethods

Gets an array of methods

### Description

public array ReflectionClass::getMethods ([ int `$filter` ] )

Gets an array of methods for the class.

### Parameters

`filter`

  Filter the results to include only methods with certain attributes. Defaults to no filtering.

  Any combination of `ReflectionMethod::IS_STATIC`, `ReflectionMethod::IS_PUBLIC`, `ReflectionMethod::IS_PROTECTED`, `ReflectionMethod::IS_PRIVATE`, `ReflectionMethod::IS_ABSTRACT`, `ReflectionMethod::IS_FINAL`.

### Return Values

An array of ReflectionMethod objects reflecting each method.

### Examples

Example #1 Basic usage of ReflectionClass::getMethods

`<?php
class Apple {
public function firstMethod() { }
final protected function secondMethod() { }
private static function thirdMethod() { }
}
$class = new ReflectionClass('Apple');
$methods = $class->getMethods();
var_dump($methods);
?>`

The above example will output:

    array(3) {
      [0]=>
      &object(ReflectionMethod)#2 (2) {
        ["name"]=>
        string(11) "firstMethod"
        ["class"]=>
        string(5) "Apple"
      }
      [1]=>
      &object(ReflectionMethod)#3 (2) {
        ["name"]=>
        string(12) "secondMethod"
        ["class"]=>
        string(5) "Apple"
      }
      [2]=>
      &object(ReflectionMethod)#4 (2) {
        ["name"]=>
        string(11) "thirdMethod"
        ["class"]=>
        string(5) "Apple"
      }
    }

Example #2 Filtering results from ReflectionClass::getMethods

`<?php
class Apple {
public function firstMethod() { }
final protected function secondMethod() { }
private static function thirdMethod() { }
}
$class = new ReflectionClass('Apple');
$methods = $class->getMethods(ReflectionMethod::IS_STATIC | ReflectionMethod::IS_FINAL);
var_dump($methods);
?>`

The above example will output:

    array(2) {
      [0]=>
      &object(ReflectionMethod)#2 (2) {
        ["name"]=>
        string(12) "secondMethod"
        ["class"]=>
        string(5) "Apple"
      }
      [1]=>
      &object(ReflectionMethod)#3 (2) {
        ["name"]=>
        string(11) "thirdMethod"
        ["class"]=>
        string(5) "Apple"
      }
    }

### See Also

- ReflectionClass::getMethod