PHP 클래스 Neos\Flow\ObjectManagement\Proxy\Compiler

파일 보기 프로젝트 열기: neos/flow-development-collection 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$blacklistedSubPackages array Hardcoded list of Flow sub packages which must be immune proxying for security, technical or conceptual reasons.
$blacklistedSubPackagesLength integer See above.
$classesCache Neos\Cache\Frontend\PhpFrontend
$objectManager Neos\Flow\ObjectManagement\CompileTimeObjectManager
$proxyClasses array
$reflectionService Neos\Flow\Reflection\ReflectionService
$settings array
$storedProxyClasses array The final map of proxy classes that end up in the cache.

공개 메소드들

메소드 설명
__construct ( ) Compiler constructor.
compile ( ) : integer Compiles the configured proxy classes and methods as static PHP code and stores it in the proxy class code cache.
getProxyClass ( string $fullClassName ) : ProxyClass | boolean Returns a proxy class object for the specified original class.
getStoredProxyClassMap ( ) : string
hasCacheEntryForClass ( string $fullClassName ) : boolean Checks if the specified class still exists in the code cache. If that is the case, it means that obviously the proxy class doesn't have to be rebuilt because otherwise the cache would have been flushed by the file monitor or some other mechanism.
injectClassesCache ( PhpFrontend $classesCache ) : void Injects the cache for storing the renamed original classes and proxy classes
injectObjectManager ( CompileTimeObjectManager $objectManager ) : void
injectReflectionService ( ReflectionService $reflectionService ) : void
injectSettings ( array $settings ) : void Injects the Flow settings
renderAnnotation ( Doctrine\Common\Annotations\Annotation $annotation ) : string Render the source (string) form of an Annotation instance.

보호된 메소드들

메소드 설명
cacheOriginalClassFileAndProxyCode ( string $className, string $pathAndFilename, string $proxyClassCode ) : void Reads the specified class file, appends ORIGINAL_CLASSNAME_SUFFIX to its class name and stores the result in the proxy classes cache.
renderOptionArrayValueAsString ( array $optionValue ) : string Render an array value as string for an annotation.
stripOpeningPhpTag ( string $classCode ) : string Removes the first opening php tag ("

메소드 상세

__construct() 공개 메소드

Compiler constructor.
public __construct ( )

cacheOriginalClassFileAndProxyCode() 보호된 메소드

Reads the specified class file, appends ORIGINAL_CLASSNAME_SUFFIX to its class name and stores the result in the proxy classes cache.
protected cacheOriginalClassFileAndProxyCode ( string $className, string $pathAndFilename, string $proxyClassCode ) : void
$className string Short class name of the class to copy
$pathAndFilename string Full path and filename of the original class file
$proxyClassCode string The code that makes up the proxy class
리턴 void

compile() 공개 메소드

Also builds the static object container which acts as a registry for non-prototype objects during runtime.
public compile ( ) : integer
리턴 integer Number of classes which have been compiled

getProxyClass() 공개 메소드

If no such proxy class has been created yet by this renderer, this function will create one and register it for later use. If the class is not proxable, FALSE will be returned
public getProxyClass ( string $fullClassName ) : ProxyClass | boolean
$fullClassName string Name of the original class
리턴 ProxyClass | boolean

getStoredProxyClassMap() 공개 메소드

public getStoredProxyClassMap ( ) : string
리턴 string

hasCacheEntryForClass() 공개 메소드

Checks if the specified class still exists in the code cache. If that is the case, it means that obviously the proxy class doesn't have to be rebuilt because otherwise the cache would have been flushed by the file monitor or some other mechanism.
public hasCacheEntryForClass ( string $fullClassName ) : boolean
$fullClassName string Name of the original class
리턴 boolean TRUE if a cache entry exists

injectClassesCache() 공개 메소드

Injects the cache for storing the renamed original classes and proxy classes
public injectClassesCache ( PhpFrontend $classesCache ) : void
$classesCache Neos\Cache\Frontend\PhpFrontend
리턴 void

injectObjectManager() 공개 메소드

public injectObjectManager ( CompileTimeObjectManager $objectManager ) : void
$objectManager Neos\Flow\ObjectManagement\CompileTimeObjectManager
리턴 void

injectReflectionService() 공개 메소드

public injectReflectionService ( ReflectionService $reflectionService ) : void
$reflectionService Neos\Flow\Reflection\ReflectionService
리턴 void

injectSettings() 공개 메소드

Injects the Flow settings
public injectSettings ( array $settings ) : void
$settings array The settings
리턴 void

renderAnnotation() 공개 정적인 메소드

Render the source (string) form of an Annotation instance.
public static renderAnnotation ( Doctrine\Common\Annotations\Annotation $annotation ) : string
$annotation Doctrine\Common\Annotations\Annotation
리턴 string

renderOptionArrayValueAsString() 보호된 정적인 메소드

Render an array value as string for an annotation.
protected static renderOptionArrayValueAsString ( array $optionValue ) : string
$optionValue array
리턴 string

stripOpeningPhpTag() 보호된 메소드

Removes the first opening php tag ("
protected stripOpeningPhpTag ( string $classCode ) : string
$classCode string
리턴 string the original class code without opening php tag

프로퍼티 상세

$blacklistedSubPackages 보호되어 있는 프로퍼티

Hardcoded list of Flow sub packages which must be immune proxying for security, technical or conceptual reasons.
protected array $blacklistedSubPackages
리턴 array

$blacklistedSubPackagesLength 보호되어 있는 프로퍼티

See above.
protected int $blacklistedSubPackagesLength
리턴 integer

$classesCache 보호되어 있는 프로퍼티

protected PhpFrontend,Neos\Cache\Frontend $classesCache
리턴 Neos\Cache\Frontend\PhpFrontend

$objectManager 보호되어 있는 프로퍼티

protected CompileTimeObjectManager,Neos\Flow\ObjectManagement $objectManager
리턴 Neos\Flow\ObjectManagement\CompileTimeObjectManager

$proxyClasses 보호되어 있는 프로퍼티

protected array $proxyClasses
리턴 array

$reflectionService 보호되어 있는 프로퍼티

protected ReflectionService,Neos\Flow\Reflection $reflectionService
리턴 Neos\Flow\Reflection\ReflectionService

$settings 보호되어 있는 프로퍼티

protected array $settings
리턴 array

$storedProxyClasses 보호되어 있는 프로퍼티

The final map of proxy classes that end up in the cache.
protected array $storedProxyClasses
리턴 array