Extension:PhpTags/Magic expressions

Magic expressions are a technique allows you to use the expression of the magic words. Magic expressions look like expressions scripting languages, but all functions are new magic words.

There are three general types of new magic words:
 * giving information (such as PhpTags Wiki)
 * processing information (such as PhpTags Functions)
 * display information (such as PhpTags Widgets)

Advantages

 * Magic expressions faster compared with conventional magic words
 * since expression are at one place, the overhead is much smaller and there is a possibility of optimization algorithms.


 * Magic expressions are more convenient for users compared with conventional magic words
 * when necessary make complex calculations more convenient to use the syntax of scripting languages with the ability to assign values ​​to variables, conditional execution of code fragments and loops.


 * Magic expressions are more convenient for extension developers compared with conventional magic words
 * extension developers should solve only one task (receiving, processing, or display information).
 * extension developers do not need to parse the parameters (it's part of the magic expression).


 * Magic expressions are easier to integrate compared with Extension:Scribunto
 * magic expressions are part of the environment MediaWiki whereas is a bridge to a foreign environment.

Disadvantages

 * Existing extensions require completion so that they could be part of the magical expressions
 * this is due with a different way initialization and parameter transmission


 * Magic expressions are slower than scripting languages embed in Scribunto
 * Since magical expressions are themselves written in PHP they run many times slower expressions of scripting languages.