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.rst76
1 files changed, 76 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..4dc857a50
--- /dev/null
+++ b/user_guide_src/source/general/alternative_php.rst
@@ -0,0 +1,76 @@
+###################################
+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; ?>
+