======uPHP Language Basics======
The following sections describe how to work with uPHP scripts.
=====uPHP Tags=====
When [[hardware:wattmons|Wattmon]] parses a file, it looks for opening and closing tags, which are '''' and ''?>'' respectively. This tells [[hardware:wattmons|Wattmon]] to start and stop interpreting the uPHP code between them. Parsing in this manner allows you to integrate script code within an HTML file as everything outside of a pair of opening and closing tags is ignored by the uPHP parser.
Some text
print(‘hello, uPHP’);
?>
Some more text
In addition, you can integrate multiple code blocks within a page, even if it is within a uPHP code block. For example if you wished to display a block of HTML based on a uPHP condition, it would go something like this:
If ($mycondition > 5) {
?> This will only be output if my condition > 5
} else {
?> This will be output if the first condition is not true.
}
?>
=====Instruction Separation=====
As in C and PHP, uPHP requires instructions to be terminated with a semicolon at the end of each statement. The closing tag of a block of uPHP code automatically implies a semicolon; you do not need to have a semicolon terminating the last line of a uPHP block. The closing tag for the block will include the immediately trailing newline if one is present.
=====Comments=====
uPHP supports 'C', 'C++' and Unix shell-style (Perl style) comments. For example:
// comment 1
$x=1;
# comment2
$x=2;
print($x);
/* comment 3 */
$x=3;
print($x);
?>
The "one-line" comment styles only comment to the end of the line or the current block of uPHP code, whichever comes first. This means that HTML code after ''%%//%% ... ?>'' or ''# ... ?>'' WILL be printed: ''?>'' breaks out of uPHP mode and returns to HTML mode, and ''%%//%%'' or ''#'' cannot influence that.
'C' style comments end at the first ''*/'' encountered. Make sure you don't nest 'C' style comments. It is easy to make this mistake if you are trying to comment out a large block of code.
/*
echo 'This is a test'; /* This comment will cause a problem */
echo 'Print this also';
*/
?>
=====Programmer Reference=====
* [[functions|uPHP Function Reference]] - The entire function list (advanced)
* [[uPHP Special Variables]] - Special arrays that are populated automatically before a script is run