Neos\Flow\Reflection\ReflectionService::isMethodStatic PHP 메소드

isMethodStatic() 공개 메소드

Tells if the specified method is declared as static or not
public isMethodStatic ( string $className, string $methodName ) : boolean
$className string Name of the class containing the method
$methodName string Name of the method to analyze
리턴 boolean TRUE if the method is static, otherwise FALSE
    public function isMethodStatic($className, $methodName)
    {
        $className = $this->prepareClassReflectionForUsage($className);
        return isset($this->classReflectionData[$className][self::DATA_CLASS_METHODS][$methodName][self::DATA_METHOD_STATIC]);
    }

Usage Example

 /**
  * Renders the PHP code for this Proxy Method
  *
  * @return string PHP code
  */
 public function render()
 {
     $methodDocumentation = $this->buildMethodDocumentation($this->fullOriginalClassName, $this->methodName);
     $methodParametersCode = $this->methodParametersCode !== '' ? $this->methodParametersCode : $this->buildMethodParametersCode($this->fullOriginalClassName, $this->methodName);
     $callParentMethodCode = $this->buildCallParentMethodCode($this->fullOriginalClassName, $this->methodName);
     $staticKeyword = $this->reflectionService->isMethodStatic($this->fullOriginalClassName, $this->methodName) ? 'static ' : '';
     $visibility = $this->visibility === null ? $this->getMethodVisibilityString() : $this->visibility;
     $returnType = $this->reflectionService->getMethodDeclaredReturnType($this->fullOriginalClassName, $this->methodName);
     $returnTypeDeclaration = $returnType !== null ? ' : ' . $returnType : '';
     $code = '';
     if ($this->addedPreParentCallCode !== '' || $this->addedPostParentCallCode !== '' || $this->methodBody !== '') {
         $code = "\n" . $methodDocumentation . '    ' . $staticKeyword . $visibility . ' function ' . $this->methodName . '(' . $methodParametersCode . "){$returnTypeDeclaration}\n    {\n";
         if ($this->methodBody !== '') {
             $code .= "\n" . $this->methodBody . "\n";
         } else {
             $code .= $this->addedPreParentCallCode;
             if ($this->addedPostParentCallCode !== '') {
                 $code .= '            $result = ' . ($callParentMethodCode === '' ? "NULL;\n" : $callParentMethodCode);
                 $code .= $this->addedPostParentCallCode;
                 $code .= "        return \$result;\n";
             } else {
                 $code .= $callParentMethodCode === '' ? '' : '        return ' . $callParentMethodCode . ";\n";
             }
         }
         $code .= "    }\n";
     }
     return $code;
 }
All Usage Examples Of Neos\Flow\Reflection\ReflectionService::isMethodStatic
ReflectionService