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