diff options
Diffstat (limited to 'user_guide_src/source/general/alternative_php.rst')
-rw-r--r-- | user_guide_src/source/general/alternative_php.rst | 76 |
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; ?> + |