当前位置: 首页>>代码示例>>PHP>>正文


PHP PHPTAL_Php_CodeWriter::doFunction方法代码示例

本文整理汇总了PHP中PHPTAL_Php_CodeWriter::doFunction方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPTAL_Php_CodeWriter::doFunction方法的具体用法?PHP PHPTAL_Php_CodeWriter::doFunction怎么用?PHP PHPTAL_Php_CodeWriter::doFunction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PHPTAL_Php_CodeWriter的用法示例。


在下文中一共展示了PHPTAL_Php_CodeWriter::doFunction方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testFunctionsGeneration

    function testFunctionsGeneration()
    {
        $state = new PHPTAL_Php_State($this->newPHPTAL());
        $codewriter = new PHPTAL_Php_CodeWriter($state);
        $codewriter->doFunction('test1', '$tpl');
        $codewriter->pushHTML($codewriter->interpolateHTML('test1'));
        $codewriter->doFunction('test2', '$tpl');
        $codewriter->pushHTML('test2');
        $codewriter->doEnd();
        $codewriter->pushHTML('test1');
        $codewriter->doEnd();
        $res = $codewriter->getResult();
        $exp = <<<EOS
<?php function test2(\$tpl) {?>test2<?php}?>
<?php function test1(\$tpl) {?>test1test1<?php}?>
EOS;
        $res = normalize_phpsource($res, true);
        $exp = normalize_phpsource($exp, true);
        $this->assertEquals($exp, $res);
    }
开发者ID:ShaeS,项目名称:Pine-Birch,代码行数:20,代码来源:SimpleGenerationTest.php

示例2: generateCode

 public function generateCode(PHPTAL_Dom_Element $treeGen)
 {
     $codewriter = new PHPTAL_Php_CodeWriter($this->_state);
     $codewriter->doComment("\n*** DO NOT EDIT THIS FILE ***\n\nGenerated by PHPTAL from " . $this->_sourceFile . " (edit that file instead)");
     $codewriter->doFunction($this->_functionName, '$tpl, $ctx');
     $codewriter->setFunctionPrefix($this->_functionName . "_");
     $codewriter->doSetVar('$_thistpl', '$tpl');
     $codewriter->doSetVar('$_translator', '$tpl->getTranslator()');
     $treeGen->generateCode($codewriter);
     $codewriter->doEnd();
     return $codewriter->getResult();
 }
开发者ID:rafalenden,项目名称:KioCMS,代码行数:12,代码来源:CodeGenerator.php

示例3: before

 public function before(PHPTAL_Php_CodeWriter $codewriter)
 {
     if ($this->shouldUseCallback()) {
         $function_base_name = 'slot_' . preg_replace('/[^a-z0-9]/', '_', $this->expression) . '_' . self::$uid++;
         $codewriter->doFunction($function_base_name, 'PHPTAL $_thistpl, PHPTAL $tpl');
         $this->function_name = $codewriter->getFunctionPrefix() . $function_base_name;
         $codewriter->doSetVar('$ctx', '$tpl->getContext()');
         $codewriter->doInitTranslator();
     } else {
         $codewriter->pushCode('ob_start()');
         $this->function_name = null;
     }
 }
开发者ID:gbisra,项目名称:Computer-r-us,代码行数:13,代码来源:FillSlot.php

示例4: before

 public function before(PHPTAL_Php_CodeWriter $codewriter)
 {
     $macroname = strtr(trim($this->expression), '-', '_');
     if (!preg_match('/^[a-z0-9_]+$/i', $macroname)) {
         throw new PHPTAL_ParserException('Bad macro name "' . $macroname . '"', $this->phpelement->getSourceFile(), $this->phpelement->getSourceLine());
     }
     if ($codewriter->functionExists($macroname)) {
         throw new PHPTAL_TemplateException("Macro {$macroname} is defined twice", $this->phpelement->getSourceFile(), $this->phpelement->getSourceLine());
     }
     $codewriter->doFunction($macroname, 'PHPTAL $_thistpl, PHPTAL $tpl');
     $codewriter->doSetVar('$tpl', 'clone $tpl');
     $codewriter->doSetVar('$ctx', '$tpl->getContext()');
     $codewriter->doInitTranslator();
     $codewriter->doXmlDeclaration(true);
     $codewriter->doDoctype(true);
 }
开发者ID:indynagpal,项目名称:MateCat,代码行数:16,代码来源:DefineMacro.php


注:本文中的PHPTAL_Php_CodeWriter::doFunction方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。