本文整理汇总了PHP中eZTemplateCompiler::isCompilationEnabled方法的典型用法代码示例。如果您正苦于以下问题:PHP eZTemplateCompiler::isCompilationEnabled方法的具体用法?PHP eZTemplateCompiler::isCompilationEnabled怎么用?PHP eZTemplateCompiler::isCompilationEnabled使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZTemplateCompiler
的用法示例。
在下文中一共展示了eZTemplateCompiler::isCompilationEnabled方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: compileTemplate
static function compileTemplate($tpl, $key, &$resourceData)
{
if (!eZTemplateCompiler::isCompilationEnabled()) {
return false;
}
$resourceData['use-comments'] = eZTemplateCompiler::isCommentsEnabled();
$cacheFileName = eZTemplateCompiler::compilationFilename($key, $resourceData);
$resourceData['uniqid'] = md5($resourceData['template-filename'] . uniqid("ezp" . getmypid(), true));
// Time limit #1:
// We reset the time limit to 30 seconds to ensure that templates
// have enough time to compile
// However if time limit is unlimited (0) we leave it be
// Time limit will also be reset after subtemplates are compiled
$maxExecutionTime = ini_get('max_execution_time');
if ($maxExecutionTime != 0 && $maxExecutionTime < 30) {
@set_time_limit(30);
}
$rootNode =& $resourceData['root-node'];
if (!$rootNode) {
return false;
}
$GLOBALS['eZTemplateCompilerResourceCache'][$resourceData['template-filename']] =& $resourceData;
$useComments = eZTemplateCompiler::isCommentsEnabled();
if (!$resourceData['test-compile']) {
eZTemplateCompiler::createCommonCompileTemplate();
}
/* Check if we need to disable the generation of spacing for the compiled templates */
$ini = eZINI::instance();
$spacing = 'disabled';
if ($ini->variable('TemplateSettings', 'UseFormatting') == 'enabled') {
$spacing = 'enabled';
}
$php = new eZPHPCreator(eZTemplateCompiler::compilationDirectory(), $cacheFileName, eZTemplateCompiler::TemplatePrefix(), array('spacing' => $spacing));
$php->addComment('URI: ' . $resourceData['uri']);
$php->addComment('Filename: ' . $resourceData['template-filename']);
$php->addComment('Timestamp: ' . $resourceData['time-stamp'] . ' (' . date('D M j G:i:s T Y', $resourceData['time-stamp']) . ')');
$php->addCodePiece("\$oldSetArray_{$resourceData['uniqid']} = isset( \$setArray ) ? \$setArray : array();\n" . "\$setArray = array();\n");
// Code to decrement include level of the templates
$php->addCodePiece("\$tpl->Level++;\n");
$php->addCodePiece("if ( \$tpl->Level > {$tpl->MaxLevel} )\n" . "{\n" . "\$text = \$tpl->MaxLevelWarning;" . "\$tpl->Level--;\n" . "return;\n" . "}\n");
if ($resourceData['locales'] && count($resourceData['locales'])) {
$php->addComment('Locales: ' . join(', ', $resourceData['locales']));
$php->addCodePiece('$locales = array( "' . join('", "', $resourceData['locales']) . "\" );\n" . '$oldLocale_' . $resourceData['uniqid'] . ' = setlocale( LC_CTYPE, null );' . "\n" . '$currentLocale_' . $resourceData['uniqid'] . ' = setlocale( LC_CTYPE, $locales );' . "\n");
}
// $php->addCodePiece( "print( \"" . $resourceData['template-filename'] . " ($cacheFileName)<br/>\n\" );" );
if ($useComments) {
$templateFilename = $resourceData['template-filename'];
if (file_exists($templateFilename)) {
$fd = fopen($templateFilename, 'rb');
if ($fd) {
$templateText = fread($fd, filesize($templateFilename));
$php->addComment("Original code:\n" . $templateText);
fclose($fd);
}
}
}
$php->addVariable('eZTemplateCompilerCodeDate', eZTemplateCompiler::CODE_DATE);
$php->addCodePiece("if ( !defined( 'EZ_TEMPLATE_COMPILER_COMMON_CODE' ) )\n");
$php->addInclude(eZTemplateCompiler::compilationDirectory() . '/common.php', eZPHPCreator::INCLUDE_ONCE_STATEMENT, array('spacing' => 4));
$php->addSpace();
if (eZTemplateCompiler::isAccumulatorsEnabled()) {
$php->addCodePiece("eZDebug::accumulatorStart( 'template_compiled_execution', 'template_total', 'Template compiled execution', true );\n");
}
if (eZTemplateCompiler::isTimingPointsEnabled()) {
$php->addCodePiece("eZDebug::addTimingPoint( 'Script start {$cacheFileName}' );\n");
}
// $php->addCodePiece( "if ( !isset( \$vars ) )\n \$vars =& \$tpl->Variables;\n" );
// $php->addSpace();
$parameters = array();
$textName = eZTemplateCompiler::currentTextName($parameters);
// $php->addCodePiece( "if ( !isset( \$$textName ) )\n \$$textName = '';\n" );
// $php->addSpace();
// $variableStats = array();
// eZTemplateCompiler::prepareVariableStatistics( $tpl, $resourceData, $variableStats );
// eZTemplateCompiler::calculateVariableStatistics( $tpl, $rootNode, $resourceData, $variableStats );
// print_r( $variableStats );
$transformedTree = array();
eZTemplateCompiler::processNodeTransformation($useComments, $php, $tpl, $rootNode, $resourceData, $transformedTree);
if ($ini->variable('TemplateSettings', 'TemplateOptimization') == 'enabled') {
/* Retrieve class information for the attribute lookup table */
if (isset($resourceData['handler']->Keys) and isset($resourceData['handler']->Keys['class'])) {
$resourceData['class-info'] = eZTemplateOptimizer::fetchClassDeclaration($resourceData['handler']->Keys['class']);
}
/* Run the optimizations */
eZTemplateOptimizer::optimize($useComments, $php, $tpl, $transformedTree, $resourceData);
}
$staticTree = array();
eZTemplateCompiler::processStaticOptimizations($useComments, $php, $tpl, $transformedTree, $resourceData, $staticTree);
$combinedTree = array();
eZTemplateCompiler::processNodeCombining($useComments, $php, $tpl, $staticTree, $resourceData, $combinedTree);
$finalTree = $combinedTree;
if (!eZTemplateCompiler::isNodePlacementEnabled()) {
eZTemplateCompiler::processRemoveNodePlacement($finalTree);
}
eZTemplateCompiler::generatePHPCode($useComments, $php, $tpl, $finalTree, $resourceData);
if (eZTemplateCompiler::isTreeEnabled('final')) {
$php->addVariable('finalTree', $finalTree, eZPHPCreator::VARIABLE_ASSIGNMENT, array('full-tree' => true));
}
if (eZTemplateCompiler::isTreeEnabled('combined')) {
$php->addVariable('combinedTree', $combinedTree, eZPHPCreator::VARIABLE_ASSIGNMENT, array('full-tree' => true));
//.........这里部分代码省略.........
示例2: canCompileTemplate
function canCompileTemplate($tpl, &$resourceData, &$extraParameters)
{
return eZTemplateCompiler::isCompilationEnabled();
}