protected function detectMethods()
    {

        foreach ($this->classes as $class) {
            $reflection = new \ReflectionClass($class);

            $methods = $reflection->getMethods(\ReflectionMethod::IS_PUBLIC);
            if ($methods) {
                foreach ($methods as $method) {
                    if (!in_array($method->name, $this->usedMethods)) {
                        // Only add the methods to the output when the root is not the same as the class.
                        // And don't add the __*() methods
                        if ($this->extends !== $class && substr($method->name, 0, 2) !== '__') {
                            $this->methods[] = new Method(
                                $method,
                                $this->alias,
                                $reflection,
                                $method->name,
                                $this->interfaces
                            );
                        }
                        $this->usedMethods[] = $method->name;
                    }
                }
            }

            // Check if the class is macroable
            $traits = collect($reflection->getTraitNames());
            if ($traits->contains('Illuminate\Support\Traits\Macroable')) {
                $properties = $reflection->getStaticProperties();
                $macros = isset($properties['macros']) ? $properties['macros'] : [];
                foreach ($macros as $macro_name => $macro_func) {
                    if (!in_array($macro_name, $this->usedMethods)) {
                        // Add macros
                        $this->methods[] = new Macro(
                            $this->getMacroFunction($macro_func),
                            $this->alias,
                            $reflection,
                            $macro_name,
                            $this->interfaces
                        );
                        $this->usedMethods[] = $macro_name;
                    }
                }
            }
        }
    }
protected function detectMethods()
    {

        foreach ($this->classes as $class) {
            $reflection = new \ReflectionClass($class);

            $methods = $reflection->getMethods(\ReflectionMethod::IS_PUBLIC);
            if ($methods) {
                foreach ($methods as $method) {
                    if (!in_array($method->name, $this->usedMethods)) {
                        // Only add the methods to the output when the root is not the same as the class.
                        // And don't add the __*() methods
                        if ($this->extends !== $class && substr($method->name, 0, 2) !== '__') {
                            $this->methods[] = new Method(
                                $method,
                                $this->alias,
                                $reflection,
                                $method->name,
                                $this->interfaces
                            );
                        }
                        $this->usedMethods[] = $method->name;
                    }
                }
            }

            // Check if the class is macroable
            $traits = collect($reflection->getTraitNames());
            if ($traits->contains('Illuminate\Support\Traits\Macroable')) {
                $properties = $reflection->getStaticProperties();
                $macros = isset($properties['macros']) ? $properties['macros'] : [];
                foreach ($macros as $macro_name => $macro_func) {
                    if (!in_array($macro_name, $this->usedMethods)) {
                        // Add macros
                        $this->methods[] = new Macro(
                            $this->getMacroFunction($macro_func),
                            $this->alias,
                            $reflection,
                            $macro_name,
                            $this->interfaces
                        );
                        $this->usedMethods[] = $macro_name;
                    }
                }
            }
        }
    }
protected function detectMethods ( ) { foreach ( $ this -> classes as $ class ) { $ reflection = new \ ReflectionClass ( $ class ) ; $ methods = $ reflection -> getMethods ( \ ReflectionMethod :: IS_PUBLIC ) ; if ( $ methods ) { foreach ( $ methods as $ method ) { if ( ! in_array ( $ method -> name , $ this -> usedMethods ) ) { // Only add the methods to the output when the root is not the same as the class. // And don't add the __*() methods if ( $ this -> extends !== $ class && substr ( $ method -> name , 0 , 2 ) !== '__' ) { $ this -> methods [ ] = new Method ( $ method , $ this -> alias , $ reflection , $ method -> name , $ this -> interfaces ) ; } $ this -> usedMethods [ ] = $ method -> name ; } } } // Check if the class is macroable $ traits = collect ( $ reflection -> getTraitNames ( ) ) ; if ( $ traits -> contains ( 'Illuminate\Support\Traits\Macroable' ) ) { $ properties = $ reflection -> getStaticProperties ( ) ; $ macros = isset ( $ properties [ 'macros' ] ) ? $ properties [ 'macros' ] : [ ] ; foreach ( $ macros as $ macro_name => $ macro_func ) { if ( ! in_array ( $ macro_name , $ this -> usedMethods ) ) { // Add macros $ this -> methods [ ] = new Macro ( $ this -> getMacroFunction ( $ macro_func ) , $ this -> alias , $ reflection , $ macro_name , $ this -> interfaces ) ; $ this -> usedMethods [ ] = $ macro_name ; } } } } }
Get the methods for one or multiple classes.

@return string
Get the methods for one or multiple classes .