Location: PHPKode > projects > Open Power Template > docs/Opt/syntax.expressions.functions.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<meta name="robots" content="all" />

	<title>Functions - Open Power Template</title>
	
	<link rel="stylesheet" type="text/css" href="design/generic.css" media="all"  />
	<link rel="stylesheet" type="text/css" href="design/print.css" media="print" />
	<!--[if lte IE 6]><link rel="stylesheet" href="design/ie.css" type="text/css" /><![endif]-->	
	<!--[if IE 7]><link rel="stylesheet" href="design/ie7.css" type="text/css" /><![endif]-->
</head>
<body>

<div id="wrap">
	<div id="header">
		<h1>Open Power Template 2.0</h1>
		<h2>Functions</h2>
		<p class="generated">@ 02.09.2010</p>
		<p class="location"><a href="index.html"><strong>User manual</strong></a> &raquo; <a href="syntax.html">Template syntax</a> &raquo; <a href="syntax.expressions.html">Expressions</a> &raquo; <a href="syntax.expressions.functions.html">Functions</a></p>
	</div>
	
	<div id="content"><dl class="location"><dt><a href="syntax.expressions.html">3.5. Expressions</a><br/>3.5.4. Functions</dt><dd class="prev">3.5.3. Operators<br/><a href="syntax.expressions.operators.html">&laquo; Previous</a></dd><dd class="next">3.5.5. Backticks<br/><a href="syntax.expressions.backticks.html">Next &raquo;</a></dd></dl>	<h1>3.5.4. Functions</h1><p>Another important syntax element are functions. A function produces some result and to achieve this, it may take one or more arguments. A simple example is <code>upper()</code>. If we pass a text to it, the function will return the same text, but with all the lower case letters changed into upper case. The result can be used then in other places, for example as an argument of other function. Note that operators are in fact kinds of functions, because they also take arguments and produce some result.</p>

<p>The function call syntax is very similar, like in many other programming languages and in mathematics. First, we write the function name, and in the brackets we specify the arguments separated with a colon. Some correct examples can be found below:</p>

<pre class="xml">a_function()
&nbsp;
a_function($argument)
&nbsp;
a_function(5)
&nbsp;
a_function($argument1, $argument2)
&nbsp;
a_function($a + $b, $c + $d)
&nbsp;
a_function($argument1, other_function($argument1))
&nbsp;
$a is a_function($argument)</pre>

<blockquote class="steps">
  <ol>
  <li>A function that takes no arguments.</li>
  <li>A function with one argument, whose value is taken from <code>$argument</code> variable.</li>
  <li>A function with one argument, whose value is constant.</li>
  <li>A function with two arguments.</li>
  <li>A function with two arguments that are smaller expressions.</li>
  <li>A function with two arguments, where the second one is a result of another function.</li>
  <li>A function result that is saved in a variable.</li>
  </ol>
</blockquote>

<p>OPT provides a rich set of default functions, and the new ones can be registered by the programmer. They are described later.</p>
<dl class="location location-bottom"><dt>3.5.4. Functions<br/><a href="syntax.expressions.html">3.5. Expressions</a></dt><dd class="prev"><a href="syntax.expressions.operators.html">&laquo; Previous</a><br/>3.5.3. Operators</dd><dd class="next"><a href="syntax.expressions.backticks.html">Next &raquo;</a><br/>3.5.5. Backticks</dd></dl>		</div>
	
	<div id="footer">
		<p>Copyright &copy; <a href="http://www.invenzzia.org/">Invenzzia Group 2008-2009</a></p>
		<p>Available under the terms of license: <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License 1.2</a></p>
		<p>Generated by <strong>TypeFriendly 0.1.4</strong> by <a href="http://www.invenzzia.org/">Invenzzia</a></p>
	</div>
</div>

</body>
</html>
Return current item: Open Power Template