PHP 클래스 Zephir\BaseBackend

파일 보기 프로젝트 열기: phalcon/zephir 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
$config Zephir\Config
$name string The name of the backend (e.g. ZendEngine2)

공개 메소드들

메소드 설명
__construct ( Zephir\Config $config ) BaseBackend constructor
addArrayEntry ( Variable $variable, $key, $value, zephir\CompilationContext $context, $statement = null, $useCodePrinter = true )
arrayFetch ( Variable $var, Variable $src, $index, $flags, $arrayAccess, zephir\CompilationContext $context, $useCodePrinter = true ) * Read from array
arrayIsset ( Variable $var, $resolvedExpr, $expression, zephir\CompilationContext $context )
arrayIssetFetch ( Variable $target, Variable $var, $resolvedExpr, $flags, $expression, zephir\CompilationContext $context )
arrayUnset ( Variable $variable, $exprIndex, $flags, zephir\CompilationContext $context ) * Unset array
assignArrayMulti ( Variable $variable, $symbolVariable, $offsetExprs, zephir\CompilationContext $context ) * Array update multi
assignArrayProperty ( Variable $variable, $property, $key, $value, zephir\CompilationContext $context )
assignBool ( Variable $variable, $value, zephir\CompilationContext $context, $useCodePrinter = true )
assignDouble ( Variable $variable, $value, zephir\CompilationContext $context, $useCodePrinter = true )
assignLong ( Variable $variable, $value, zephir\CompilationContext $context, $useCodePrinter = true )
assignNull ( Variable $variable, zephir\CompilationContext $context, $useCodePrinter = true )
assignPropertyArrayMulti ( Variable $variable, $valueVariable, $propertyName, $offsetExprs, zephir\CompilationContext $context )
assignStaticPropertyArrayMulti ( $classEntry, $valueVariable, $propertyName, $offsetExprs, zephir\CompilationContext $compilationContext )
assignString ( Variable $variable, $value, zephir\CompilationContext $context, $useCodePrinter = true, $doCopy = true ) * Assign values to variables
assignZval ( Variable $variable, $code, zephir\CompilationContext $context )
callDynamicFunction ( $symbolVariable, Variable $variable, zephir\CompilationContext $compilationContext, $params = [], $cache = 'NULL', $cacheSlot ) * Method calling
callMethod ( $symbolVariable, Variable $variable, $methodName, $cachePointer, $params, zephir\CompilationContext $context )
checkConstructor ( Variable $var, zephir\CompilationContext $context )
checkStrictType ( $type, $var, zephir\CompilationContext $context )
concatSelf ( Variable $variable, Variable $itemVariable, zephir\CompilationContext $context )
copyOnWrite ( Variable $target, $var, zephir\CompilationContext $context )
createClosure ( Variable $variable, $classDefinition, zephir\CompilationContext $context )
declareConstant ( $type, $name, $value, zephir\CompilationContext $context )
destroyIterator ( Variable $iteratorVariable, zephir\CompilationContext $context )
fetchClass ( Variable $var, $name, $guarded, zephir\CompilationContext $context )
fetchClassEntry ( $str )
fetchGlobal ( Variable $globalVar, zephir\CompilationContext $compilationContext, $useCodePrinter = true )
fetchProperty ( Variable $symbolVariable, Variable $variableVariable, $property, $readOnly, zephir\CompilationContext $context, $useOptimized = false )
fetchStaticProperty ( Variable $symbolVariable, $classDefinition, $property, $readOnly, zephir\CompilationContext $context )
forStatement ( Variable $exprVariable, $keyVariable, $variable, $duplicateKey, $duplicateHash, $statement, $statementBlock, zephir\CompilationContext $context ) * For statement
forStatementIterator ( Variable $iteratorVariable, Variable $targetVariable, zephir\CompilationContext $compilationContext )
generateInitCode ( &$groupVariables, $type, $pointer, Variable $variable )
getActiveBackend ( )
getBoolCode ( Variable $variable, zephir\CompilationContext $context, $useCodePrinter = true )
getInternalKernelPath ( ) : string Resolves the path to the source kernel files of the backend
getInternalSignature ( ClassMethod $method, zephir\CompilationContext $context )
getInternalTemplatePath ( ) : string Resolves the path to the source template files of the backend
getName ( )
getScalarTempVariable ( $type, zephir\CompilationContext $compilationContext, $isLocal = true )
getStringsManager ( )
getTemplateFileContents ( $filename ) : string Resolves the path to the source template file of the backend
getTypeDefinition ( $type )
getTypeofCondition ( Variable $variableVariable, $operator, $value, zephir\CompilationContext $context )
getVariableCode ( Variable $variable ) : string
getVariableCodePointer ( Variable $variable ) : string Get a double pointer to the variable
ifVariableValueUndefined ( Variable $var, zephir\CompilationContext $context, $onlyBody = false, $useCodePrinter = true )
initArray ( Variable $variable, zephir\CompilationContext $context, $size = null, $useCodePrinter = true )
initObject ( Variable $variable, $ce, zephir\CompilationContext $context, $useCodePrinter = true )
initVar ( Variable $variable, zephir\CompilationContext $context, $useCodePrinter = true, $second = false )
maybeSeparate ( Variable $variableTempSeparated, Variable $variable, zephir\CompilationContext $context )
onPostCompile ( $method, zephir\CompilationContext $context )
onPreCompile ( $method, zephir\CompilationContext $context )
onPreInitVar ( $method, zephir\CompilationContext $context )
propertyIsset ( Variable $var, $key, zephir\CompilationContext $context )
returnString ( $value, zephir\CompilationContext $context, $useCodePrinter = true )
setSymbolIfSeparated ( Variable $variableTempSeparated, Variable $variable, zephir\CompilationContext $context )
updateArray ( Variable $symbolVariable, $key, $value, zephir\CompilationContext $compilationContext, $flags = null )
updateProperty ( Variable $symbolVariable, $propertyName, $value, zephir\CompilationContext $compilationContext )
updateStaticProperty ( $classEntry, $property, $value, zephir\CompilationContext $context )
zvalOperator ( $zvalOperator, Variable $expected, Variable $variableLeft, Variable $variableRight, zephir\CompilationContext $compilationContext )

메소드 상세

__construct() 공개 메소드

BaseBackend constructor
public __construct ( Zephir\Config $config )
$config Zephir\Config

addArrayEntry() 추상적인 공개 메소드

abstract public addArrayEntry ( Variable $variable, $key, $value, zephir\CompilationContext $context, $statement = null, $useCodePrinter = true )
$variable Variable
$context zephir\CompilationContext

arrayFetch() 추상적인 공개 메소드

* Read from array
abstract public arrayFetch ( Variable $var, Variable $src, $index, $flags, $arrayAccess, zephir\CompilationContext $context, $useCodePrinter = true )
$var Variable
$src Variable
$context zephir\CompilationContext

arrayIsset() 추상적인 공개 메소드

abstract public arrayIsset ( Variable $var, $resolvedExpr, $expression, zephir\CompilationContext $context )
$var Variable
$context zephir\CompilationContext

arrayIssetFetch() 추상적인 공개 메소드

abstract public arrayIssetFetch ( Variable $target, Variable $var, $resolvedExpr, $flags, $expression, zephir\CompilationContext $context )
$target Variable
$var Variable
$context zephir\CompilationContext

arrayUnset() 추상적인 공개 메소드

* Unset array
abstract public arrayUnset ( Variable $variable, $exprIndex, $flags, zephir\CompilationContext $context )
$variable Variable
$context zephir\CompilationContext

assignArrayMulti() 추상적인 공개 메소드

* Array update multi
abstract public assignArrayMulti ( Variable $variable, $symbolVariable, $offsetExprs, zephir\CompilationContext $context )
$variable Variable
$context zephir\CompilationContext

assignArrayProperty() 추상적인 공개 메소드

abstract public assignArrayProperty ( Variable $variable, $property, $key, $value, zephir\CompilationContext $context )
$variable Variable
$context zephir\CompilationContext

assignBool() 추상적인 공개 메소드

abstract public assignBool ( Variable $variable, $value, zephir\CompilationContext $context, $useCodePrinter = true )
$variable Variable
$context zephir\CompilationContext

assignDouble() 추상적인 공개 메소드

abstract public assignDouble ( Variable $variable, $value, zephir\CompilationContext $context, $useCodePrinter = true )
$variable Variable
$context zephir\CompilationContext

assignLong() 추상적인 공개 메소드

abstract public assignLong ( Variable $variable, $value, zephir\CompilationContext $context, $useCodePrinter = true )
$variable Variable
$context zephir\CompilationContext

assignNull() 추상적인 공개 메소드

abstract public assignNull ( Variable $variable, zephir\CompilationContext $context, $useCodePrinter = true )
$variable Variable
$context zephir\CompilationContext

assignPropertyArrayMulti() 추상적인 공개 메소드

abstract public assignPropertyArrayMulti ( Variable $variable, $valueVariable, $propertyName, $offsetExprs, zephir\CompilationContext $context )
$variable Variable
$context zephir\CompilationContext

assignStaticPropertyArrayMulti() 추상적인 공개 메소드

abstract public assignStaticPropertyArrayMulti ( $classEntry, $valueVariable, $propertyName, $offsetExprs, zephir\CompilationContext $compilationContext )
$compilationContext zephir\CompilationContext

assignString() 추상적인 공개 메소드

* Assign values to variables
abstract public assignString ( Variable $variable, $value, zephir\CompilationContext $context, $useCodePrinter = true, $doCopy = true )
$variable Variable
$context zephir\CompilationContext

assignZval() 추상적인 공개 메소드

abstract public assignZval ( Variable $variable, $code, zephir\CompilationContext $context )
$variable Variable
$context zephir\CompilationContext

callDynamicFunction() 추상적인 공개 메소드

* Method calling
abstract public callDynamicFunction ( $symbolVariable, Variable $variable, zephir\CompilationContext $compilationContext, $params = [], $cache = 'NULL', $cacheSlot )
$variable Variable
$compilationContext zephir\CompilationContext

callMethod() 추상적인 공개 메소드

abstract public callMethod ( $symbolVariable, Variable $variable, $methodName, $cachePointer, $params, zephir\CompilationContext $context )
$variable Variable
$context zephir\CompilationContext

checkConstructor() 추상적인 공개 메소드

abstract public checkConstructor ( Variable $var, zephir\CompilationContext $context )
$var Variable
$context zephir\CompilationContext

checkStrictType() 추상적인 공개 메소드

abstract public checkStrictType ( $type, $var, zephir\CompilationContext $context )
$context zephir\CompilationContext

concatSelf() 추상적인 공개 메소드

abstract public concatSelf ( Variable $variable, Variable $itemVariable, zephir\CompilationContext $context )
$variable Variable
$itemVariable Variable
$context zephir\CompilationContext

copyOnWrite() 추상적인 공개 메소드

abstract public copyOnWrite ( Variable $target, $var, zephir\CompilationContext $context )
$target Variable
$context zephir\CompilationContext

createClosure() 추상적인 공개 메소드

abstract public createClosure ( Variable $variable, $classDefinition, zephir\CompilationContext $context )
$variable Variable
$context zephir\CompilationContext

declareConstant() 추상적인 공개 메소드

abstract public declareConstant ( $type, $name, $value, zephir\CompilationContext $context )
$context zephir\CompilationContext

destroyIterator() 추상적인 공개 메소드

abstract public destroyIterator ( Variable $iteratorVariable, zephir\CompilationContext $context )
$iteratorVariable Variable
$context zephir\CompilationContext

fetchClass() 추상적인 공개 메소드

abstract public fetchClass ( Variable $var, $name, $guarded, zephir\CompilationContext $context )
$var Variable
$context zephir\CompilationContext

fetchClassEntry() 추상적인 공개 메소드

abstract public fetchClassEntry ( $str )

fetchGlobal() 추상적인 공개 메소드

abstract public fetchGlobal ( Variable $globalVar, zephir\CompilationContext $compilationContext, $useCodePrinter = true )
$globalVar Variable
$compilationContext zephir\CompilationContext

fetchProperty() 추상적인 공개 메소드

abstract public fetchProperty ( Variable $symbolVariable, Variable $variableVariable, $property, $readOnly, zephir\CompilationContext $context, $useOptimized = false )
$symbolVariable Variable
$variableVariable Variable
$context zephir\CompilationContext

fetchStaticProperty() 추상적인 공개 메소드

abstract public fetchStaticProperty ( Variable $symbolVariable, $classDefinition, $property, $readOnly, zephir\CompilationContext $context )
$symbolVariable Variable
$context zephir\CompilationContext

forStatement() 추상적인 공개 메소드

* For statement
abstract public forStatement ( Variable $exprVariable, $keyVariable, $variable, $duplicateKey, $duplicateHash, $statement, $statementBlock, zephir\CompilationContext $context )
$exprVariable Variable
$context zephir\CompilationContext

forStatementIterator() 추상적인 공개 메소드

abstract public forStatementIterator ( Variable $iteratorVariable, Variable $targetVariable, zephir\CompilationContext $compilationContext )
$iteratorVariable Variable
$targetVariable Variable
$compilationContext zephir\CompilationContext

generateInitCode() 추상적인 공개 메소드

abstract public generateInitCode ( &$groupVariables, $type, $pointer, Variable $variable )
$variable Variable

getActiveBackend() 공개 정적인 메소드

public static getActiveBackend ( )

getBoolCode() 추상적인 공개 메소드

abstract public getBoolCode ( Variable $variable, zephir\CompilationContext $context, $useCodePrinter = true )
$variable Variable
$context zephir\CompilationContext

getInternalKernelPath() 공개 메소드

Resolves the path to the source kernel files of the backend
public getInternalKernelPath ( ) : string
리턴 string Absolute path to kernel files

getInternalSignature() 추상적인 공개 메소드

abstract public getInternalSignature ( ClassMethod $method, zephir\CompilationContext $context )
$method ClassMethod
$context zephir\CompilationContext

getInternalTemplatePath() 공개 메소드

Resolves the path to the source template files of the backend
public getInternalTemplatePath ( ) : string
리턴 string Absolute path to template files

getName() 공개 메소드

public getName ( )

getScalarTempVariable() 추상적인 공개 메소드

abstract public getScalarTempVariable ( $type, zephir\CompilationContext $compilationContext, $isLocal = true )
$compilationContext zephir\CompilationContext

getStringsManager() 추상적인 공개 메소드

abstract public getStringsManager ( )

getTemplateFileContents() 공개 메소드

Resolves the path to the source template file of the backend
public getTemplateFileContents ( $filename ) : string
리턴 string Absolute path to template file

getTypeDefinition() 추상적인 공개 메소드

abstract public getTypeDefinition ( $type )

getTypeofCondition() 추상적인 공개 메소드

abstract public getTypeofCondition ( Variable $variableVariable, $operator, $value, zephir\CompilationContext $context )
$variableVariable Variable
$context zephir\CompilationContext

getVariableCode() 추상적인 공개 메소드

abstract public getVariableCode ( Variable $variable ) : string
$variable Variable
리턴 string

getVariableCodePointer() 추상적인 공개 메소드

Get a double pointer to the variable
abstract public getVariableCodePointer ( Variable $variable ) : string
$variable Variable
리턴 string

ifVariableValueUndefined() 추상적인 공개 메소드

abstract public ifVariableValueUndefined ( Variable $var, zephir\CompilationContext $context, $onlyBody = false, $useCodePrinter = true )
$var Variable
$context zephir\CompilationContext

initArray() 추상적인 공개 메소드

abstract public initArray ( Variable $variable, zephir\CompilationContext $context, $size = null, $useCodePrinter = true )
$variable Variable
$context zephir\CompilationContext

initObject() 추상적인 공개 메소드

abstract public initObject ( Variable $variable, $ce, zephir\CompilationContext $context, $useCodePrinter = true )
$variable Variable
$context zephir\CompilationContext

initVar() 추상적인 공개 메소드

abstract public initVar ( Variable $variable, zephir\CompilationContext $context, $useCodePrinter = true, $second = false )
$variable Variable
$context zephir\CompilationContext

maybeSeparate() 추상적인 공개 메소드

abstract public maybeSeparate ( Variable $variableTempSeparated, Variable $variable, zephir\CompilationContext $context )
$variableTempSeparated Variable
$variable Variable
$context zephir\CompilationContext

onPostCompile() 추상적인 공개 메소드

abstract public onPostCompile ( $method, zephir\CompilationContext $context )
$context zephir\CompilationContext

onPreCompile() 추상적인 공개 메소드

abstract public onPreCompile ( $method, zephir\CompilationContext $context )
$context zephir\CompilationContext

onPreInitVar() 추상적인 공개 메소드

abstract public onPreInitVar ( $method, zephir\CompilationContext $context )
$context zephir\CompilationContext

propertyIsset() 추상적인 공개 메소드

abstract public propertyIsset ( Variable $var, $key, zephir\CompilationContext $context )
$var Variable
$context zephir\CompilationContext

returnString() 추상적인 공개 메소드

abstract public returnString ( $value, zephir\CompilationContext $context, $useCodePrinter = true )
$context zephir\CompilationContext

setSymbolIfSeparated() 추상적인 공개 메소드

abstract public setSymbolIfSeparated ( Variable $variableTempSeparated, Variable $variable, zephir\CompilationContext $context )
$variableTempSeparated Variable
$variable Variable
$context zephir\CompilationContext

updateArray() 추상적인 공개 메소드

abstract public updateArray ( Variable $symbolVariable, $key, $value, zephir\CompilationContext $compilationContext, $flags = null )
$symbolVariable Variable
$compilationContext zephir\CompilationContext

updateProperty() 추상적인 공개 메소드

abstract public updateProperty ( Variable $symbolVariable, $propertyName, $value, zephir\CompilationContext $compilationContext )
$symbolVariable Variable
$compilationContext zephir\CompilationContext

updateStaticProperty() 추상적인 공개 메소드

abstract public updateStaticProperty ( $classEntry, $property, $value, zephir\CompilationContext $context )
$context zephir\CompilationContext

zvalOperator() 추상적인 공개 메소드

abstract public zvalOperator ( $zvalOperator, Variable $expected, Variable $variableLeft, Variable $variableRight, zephir\CompilationContext $compilationContext )
$expected Variable
$variableLeft Variable
$variableRight Variable
$compilationContext zephir\CompilationContext

프로퍼티 상세

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

protected Config,Zephir $config
리턴 Zephir\Config

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

The name of the backend (e.g. ZendEngine2)
protected string $name
리턴 string