PHP Класс Zephir\BaseBackend

Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
$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