ReloadSafeAnnotationDriver extends AnnotationDriver
同じプロセス内で新しく生成されたProxyクラスからマッピングメタデータを抽出するためのAnnotationDriver.
同じプロセス内で、Proxy元のEntityがロードされた後に同じFQCNを持つProxyをロードしようとすると、Fatalエラーが発生する. このエラーを回避するために、新しく生成されたProxyクラスは一時的にクラス名を変更してからロードして、マッピングメタデータを抽出する.
Table of Contents
| $newProxyFiles | array | |
|---|---|---|
| $outputDir | ||
| $trait_proxies_directory | ||
| setNewProxyFiles() | mixed | |
| setOutputDir() | mixed | |
| getAllClassNames() | {@inheritdoc} | mixed | 
| getClassNamesFromTokens() | ソースコードを字句解析してクラス名を解決します. | array | 
| setTraitProxiesDirectory() | mixed | |
| getAllClassNames() | {@inheritdoc} | mixed | 
Properties
$newProxyFiles
        protected
                array
        $newProxyFiles
            
            
$outputDir
        protected
                mixed
        $outputDir
            
            
$trait_proxies_directory
        protected
                mixed
        $trait_proxies_directory
            
            
Methods
setNewProxyFiles()
        public
                                setNewProxyFiles(
                    
                            $newProxyFiles :
                mixed
                            
                )
        : mixed
    
    
            Parameters
- $newProxyFiles : mixed
 
Return values
mixedsetOutputDir()
        public
                                setOutputDir(
                    
                            $outputDir :
                string
                            
                )
        : mixed
    
    
            Parameters
- $outputDir : string
 
Return values
mixedgetAllClassNames()
{@inheritdoc}
        public
                                getAllClassNames(
                )
        : mixed
    
    
    
        
            Return values
mixedgetClassNamesFromTokens()
ソースコードを字句解析してクラス名を解決します.
        private
                                getClassNamesFromTokens(
                    
                            $sourceFile :
                
                            
                )
        : array
    
        新しく生成されたProxyクラスの場合は、一時的にクラス名を変更したクラスを生成してロードします.
Parameters
Return values
array —ソースファイルに含まれるクラス名のリスト
setTraitProxiesDirectory()
        public
                                setTraitProxiesDirectory(
                    
                            $dir :
                mixed
                            
                )
        : mixed
    
    
            Parameters
- $dir : mixed
 
Return values
mixedgetAllClassNames()
{@inheritdoc}
        public
                                getAllClassNames(
                )
        : mixed