| ################################### |
| 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; ?> |