torben Sun Nov 25 17:08:36 2001 EDT
Modified files:
/phpdoc/en/language basic-syntax.xml
Log:
Major prose fixups, some XML cleanups, and a couple of typo fixes.
Index: phpdoc/en/language/basic-syntax.xml
diff -u phpdoc/en/language/basic-syntax.xml:1.20
phpdoc/en/language/basic-syntax.xml:1.21
--- phpdoc/en/language/basic-syntax.xml:1.20 Fri Nov 23 16:51:23 2001
+++ phpdoc/en/language/basic-syntax.xml Sun Nov 25 17:08:36 2001
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.20 $ -->
- <chapter id="language.basic-syntax">
- <title>Basic syntax</title>
+<!-- $Revision: 1.21 $ -->
+ <chapter id="language.basic-syntax">
+ <title>Basic syntax</title>
<!--
@@ -46,20 +46,35 @@
oop : has been revised by Kristian, DONE.
-->
- <sect1 id="language.basic-syntax.phpmode">
- <title>Escaping from HTML</title>
+ <sect1 id="language.basic-syntax.phpmode">
+ <title>Escaping from HTML</title>
- <para>
- When PHP starts to handle file, it will just output the text
- it encounters. So if you have a HTML-file, and you change its
- extension to .php, your file will keep working.
- </para>
-
- <para>
- If you want to insert php-statements at some point in your
- file, you'll need to indicate so to php, by entering "PHP mode"
- in either of the following ways:
- </para>
+ <para>
+ When PHP parses a file, it simply passes the text of the file
+ through until it encounters one of the special tags which tell it
+ to start interpreting the text as PHP code. The parser then
+ executes all the code it finds, up until it runs into a PHP
+ closing tag, which tells the parser to just start passing the text
+ through again. This is the mechanism which allows you to embed PHP
+ code inside HTML: everything outside the PHP tags is left utterly
+ alone, while everything inside is parsed as code.
+ </para>
+
+ <para>
+ There are four sets of tags which can be used to denote blocks of
+ PHP code. Of these, only two (<?php. . .?> and <script
+ language="php">. . .</script>) are always available; the
+ others can be turned on or off from the
+ <filename>php.ini</filename> configuration file. While the
+ short-form tags and ASP-style tags may be convenient, they are not
+ as portable as the longer versions. Also, if you intend to embed
+ PHP code in XML or XHTML, you will need to use the
+ <?php. . .?> form to conform to the XML.
+ </para>
+
+ <para>
+ The tags supported by PHP are:
+ </para>
<para>
<example>
@@ -83,75 +98,80 @@
</example>
</para>
- <para>
- The first way is only available if short tags have been
- enabled. This can be done
- <!-- via the <function>short_tags</function> function,-->
- by enabling the <link linkend="ini.short-open-tag">short_open_tag</link>
- configuration setting in the PHP config file, or by compiling PHP with the
- --enable-short-tags option to <command>configure</command>.
- </para>
-
- <para>
- The second way is the generally preferred method, as it allows for the
- next generation of XHTML to be easily implemented with PHP.
- </para>
-
- <para>
- The fourth way is only available if ASP-style tags have been
- enabled using the <link linkend="ini.asp-tags">asp_tags</link>
- configuration setting.
+ <para>
+ The first way is only available if short tags have been
+ enabled. This can be done via the <function>short_tags</function>
+ function (PHP 3 only), by enabling the <link
+ linkend="ini.short-open-tag">short_open_tag</link> configuration
+ setting in the PHP config file, or by compiling PHP with the
+ --enable-short-tags option to <command>configure</command>.
+ </para>
+
+ <para>
+ Again, the second way is the generally preferred method, as it
+ allows for the the use of PHP in XML-conformant code such as
+ XHTML.
+ </para>
+
+ <para>
+ The fourth way is only available if ASP-style tags have been
+ enabled using the <link linkend="ini.asp-tags">asp_tags</link>
+ configuration setting.
<note>
<para>Support for ASP-style tags was added in 3.0.4.</para>
- </note></para>
+ </note>
+ </para>
- <para>
- The closing tag for the block will include the immediately
- trailing newline if one is present.
- </para>
+ <para>
+ The closing tag for the block will include the immediately
+ trailing newline if one is present. Also, the closing tag
+ automatically implies a semicolon; you do not need to have a
+ semicolon terminating the last line of a PHP block.
+ </para>
- <para> <!-- TODO: find a better place for this para -->
- PHP allows you to use structures like this:
- <example><title>Advanced escaping</title>
+ <para>
+ PHP allows you to use structures like this:
+ <example><title>Advanced escaping</title>
<programlisting role="php">
<![CDATA[
<?php
-
if (boolean-expression) {
?>
<strong>This is true.</strong>
<?php
} else {
- >
+ ?>
<strong>This is false.</strong>
<?php
}
?>
]]>
</programlisting>
- </example>
-
- This works as expected, because PHP handles text within ?> and
- <?php as an <function>echo</function> statement.
- <!-- without the parsing if vars, that is (hopefully?) obvious -->
- </para>
-
- </sect1>
-
- <sect1 id="language.basic-syntax.instruction-separation">
- <title>Instruction separation</title>
-
- <simpara>
- Instructions are separated the same as in C or Perl - terminate
- each statement with a semicolon.</simpara>
-
- <para>
- The closing tag (?>) also implies the end of the statement, so the
- following are equivalent:
+ </example>
+ This works as expected, because when PHP hits the > closing
+ tags, it simply starts outputting whatever it finds until it hits
+ another opening tag. The example given here is contrived, of
+ course, but for outputting large blocks of text, dropping out of
+ PHP parsing mode is generally more efficient than sending all of
+ the text through <function>echo</function> or
+ <function>print</function> or somesuch.
+ </para>
+ </sect1>
+
+ <sect1 id="language.basic-syntax.instruction-separation">
+ <title>Instruction separation</title>
+
+ <simpara>
+ Instructions are separated the same as in C or Perl - terminate
+ each statement with a semicolon.</simpara>
+
+ <para>
+ The closing tag (?>) also implies the end of the statement, so
+ the following are equivalent:
- <informalexample>
- <programlisting role="php">
+ <informalexample>
+ <programlisting role="php">
<![CDATA[
<?php
echo "This is a test";
@@ -159,17 +179,19 @@
<?php echo "This is a test" ?>
]]>
- </programlisting>
- </informalexample></para></sect1>
+ </programlisting>
+ </informalexample>
+ </para>
+ </sect1>
- <sect1 id="language.basic-syntax.comments">
- <title>Comments</title>
+ <sect1 id="language.basic-syntax.comments">
+ <title>Comments</title>
- <para>
- PHP supports 'C', 'C++' and Unix shell-style comments. For example:
+ <para>
+ PHP supports 'C', 'C++' and Unix shell-style comments. For example:
<informalexample>
- <programlisting role="php">
+ <programlisting role="php">
<![CDATA[
<?php
echo "This is a test"; // This is a one-line c++ style comment
@@ -180,27 +202,30 @@
?>
]]>
</programlisting>
- </informalexample></para>
+ </informalexample>
+ </para>
- <simpara>
- The "one-line" comment styles actually only comment to the
- end of the line or the current block of PHP code, whichever
- comes first.</simpara>
- <informalexample>
- <programlisting role="php">
+ <simpara>
+ The "one-line" comment styles actually only comment to the end of
+ the line or the current block of PHP code, whichever comes
+ first.
+ </simpara>
+ <informalexample>
+ <programlisting role="php">
<![CDATA[
<h1>This is an <?php # echo "simple";?> example.>/h1>
<p>The header above will say 'This is an example'.
]]>
- </programlisting>
- </informalexample>
+ </programlisting>
+ </informalexample>
- <simpara>
- You should be careful not to nest 'C' style comments, which can
- happen when commenting out large blocks.</simpara>
+ <simpara>
+ You should be careful not to nest 'C' style comments, which can
+ happen when commenting out large blocks.
+ </simpara>
- <informalexample>
- <programlisting role="php">
+ <informalexample>
+ <programlisting role="php">
<![CDATA[
<?php
/*
@@ -209,8 +234,9 @@
?>
]]>
</programlisting>
- </informalexample></sect1>
- </chapter>
+ </informalexample>
+ </sect1>
+ </chapter>
<!-- Keep this comment at the end of the file
Local variables: