summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/general/alternative_php.rst
diff options
context:
space:
mode:
Diffstat (limited to 'user_guide_src/source/general/alternative_php.rst')
-rw-r--r--user_guide_src/source/general/alternative_php.rst56
1 files changed, 56 insertions, 0 deletions
diff --git a/user_guide_src/source/general/alternative_php.rst b/user_guide_src/source/general/alternative_php.rst
new file mode 100644
index 000000000..45c367131
--- /dev/null
+++ b/user_guide_src/source/general/alternative_php.rst
@@ -0,0 +1,56 @@
+###################################
+Alternate PHP Syntax for View Files
+###################################
+
+If you do not utilize CodeIgniter's :doc:`template
+engine <../libraries/parser>`, you'll be using pure PHP in your
+View files. To minimize the PHP code in these files, and to make it
+easier to identify the code blocks it is recommended that you use PHPs
+alternative syntax for control structures and short tag echo statements.
+If you are not familiar with this syntax, it allows you to eliminate the
+braces from your code, and eliminate "echo" statements.
+
+Automatic Short Tag Support
+===========================
+
+.. note:: If you find that the syntax described in this page does not
+ work on your server it might be that "short tags" are disabled in your
+ PHP ini file. CodeIgniter will optionally rewrite short tags on-the-fly,
+ allowing you to use that syntax even if your server doesn't support it.
+ This feature can be enabled in your config/config.php file.
+
+Please note that if you do use this feature, if PHP errors are
+encountered in your **view files**, the error message and line number
+will not be accurately shown. Instead, all errors will be shown as
+eval() errors.
+
+Alternative Echos
+=================
+
+Normally to echo, or print out a variable you would do this::
+
+ <?php echo $variable; ?>
+
+With the alternative syntax you can instead do it this way::
+
+ <?=$variable?>
+
+Alternative Control Structures
+==============================
+
+Controls structures, like if, for, foreach, and while can be written in
+a simplified format as well. Here is an example using foreach::
+
+ <ul> <?php foreach ($todo as $item): ?> <li><?=$item?></li> <?php endforeach; ?> </ul>
+
+Notice that there are no braces. Instead, the end brace is replaced with
+endforeach. Each of the control structures listed above has a similar
+closing syntax: endif, endfor, endforeach, and endwhile
+
+Also notice that instead of using a semicolon after each structure
+(except the last one), there is a colon. This is important!
+
+Here is another example, using if/elseif/else. Notice the colons::
+
+ <?php if ($username == 'sally'): ?>    <h3>Hi Sally</h3> <?php elseif ($username == 'joe'): ?>    <h3>Hi Joe</h3> <?php else: ?>    <h3>Hi unknown user</h3> <?php endif; ?>
+