public function properties() {
        return $this->cache(__METHOD__, function() {
            return array_unique(array_merge(
                $this->publicProperties(),
                $this->protectedProperties(),
                $this->privateProperties(),
                $this->staticProperties()
            ));
        });
    }
public function properties() {
        return $this->cache(__METHOD__, function() {
            return array_unique(array_merge(
                $this->publicProperties(),
                $this->protectedProperties(),
                $this->privateProperties(),
                $this->staticProperties()
            ));
        });
    }
public function properties ( ) { return $ this -> cache ( __METHOD__ , function ( ) { return array_unique ( array_merge ( $ this -> publicProperties ( ) , $ this -> protectedProperties ( ) , $ this -> privateProperties ( ) , $ this -> staticProperties ( ) ) ) ; } ) ; }
Return an array of public, protected, private and static properties.

@return string[]
Return an array of public protected private and static properties .