2012-02-26 15 views
7

Nette Framework में नए विशेषता मैक्रोज़ को परिभाषित करने का सबसे अच्छा तरीका क्या है?नेटटे फ्रेमवर्क - कस्टम विशेषता मैक्रोज़

इसके अलावा, क्या कॉन्फ़िगरेशन फ़ाइल में ऐसा करना संभव होगा?

उत्तर

14

परिभाषित अपनी खुद की मैक्रो Nette फ्रेमवर्क में वास्तव में आसान है, पहले आप MacroSet बनाना चाहिए:

$latte = new Nette\Latte\Engine; 
$set = new Nette\Latte\Macros\MacroSet($latte->compiler); 

तो आर्ग के साथ नया मैक्रो बनाएं:

$set->addMacro('if', 'if (%node.args):', 'endif'); 

और अपने दूसरे प्रश्न के लिए समाधान:

Class MyMacroSet extends Nette\Latte\Macros\MacroSet 
{ 
    public static function install(Nette\Latte\Compiler $compiler) 
    { 
     $compiler->addMacro('if', 'if (%node.args):', 'endif'); 
    } 
} 

और config.neon में आप अपने मैक्रो पंजीकृत कर सकते हैं et:

nette.latte: 
       setup: 
         - MyMacroSet::install($service->compiler) 
+0

ओह, धन्यवाद, कि और अधिक साफ की तुलना में मैं के लिए आशा व्यक्त की है। –

संबंधित मुद्दे