תחביר בסיסי
Table of Contents
מעבר ממצב HTML למצב PHP
כאשר PHP מפרשת קובץ, היא פולטת את הטקסט שבו, עד לרגע שבו תמצא תגיות מיוחדות שמסמנות לה את סוף הטקסט ותחילת הקוד של PHP. המפרש יבצע את כל פקודות ה PHP שימצא עד תגית הסגירה הבאה, שתסמן למפרש את סוף הקוד ותחילת הטקסט וברגע זה שוב תתבצע שליחה של הטקסט אל הפלט. מנגנון זה מאפשר את שילוב הקוד במסמך HTML: כל מה שמחוץ לתגיות ה PHP נחשב לפלט רגיל בעוד שכל מה שנמצא בתוכן מעובד כקוד.
ישנן ארבע דרכים לסמן את תגיות הפתיחה וסגירה של קוד PHP. מהן רק שתיים (<?php. . .?> ו <script language="php">. . .</script>). פעילות תמיד. באחרות אפשר להשתמש לאחר שינוי הגדרות בקובץ ההגדרות php.ini. למרות שתגיות ה PHP הקצרות והתגיות בסגנון ASP יותר נוחות לשימוש, הן לא מתאימות לשימוש בחלק מהמקרים, לדוגמה - אם ברצונך לשלב קוד PHP ב XML או XHTML, אתה חייב להשתמש בתגיות הארוכות <?php. . .?> כדי לא להתנגש עם תגיות XML.
התגיות הנתמכות ב PHP הן:
Example#1 דרכים לעבור ממצב HTML למצב PHP
1. <? echo ("this is the simplest, an SGML processing instruction\n"); ?>
<?= expression ?> This is a shortcut for "<? echo expression ?>"
2. <?php echo("if you want to serve XHTML or XML documents, do like this\n"); ?>
3. <script language="php">
echo ("some editors (like FrontPage) don't
like processing instructions");
</script>
4. <% echo ("You may optionally use ASP-style tags"); %>
<%= $variable; # This is a shortcut for "<% echo . . ." %>
הדרך הראשונה תפעל רק אם התמיכה בתגיות קצרות הופעלה. כדי אפשר להפעיל תמיכה זו(ב PHP 3 ) על-ידי שימוש בפונקציה short_tags(), תוך הפעלת האפשרות short_open_tag בקובץ ההגדרות של PHP, או על-ידי הידור של PHP עם האופציה --enable-short-tags בהרצת ה configure.
ושוב יש לציין כי הדרך השנייה מועדפת מאחר ואינה גורמת להתנגשות עם מסמכים מסוג XML כדוגמת XHTML.
הדרך הרביעית תפעל רק אם סגנון תגיות ה ASP מאופשר על-ידי ההגדרה asp_tags בקובץ ההגדרות.
Note: תמיכה בתגיות בסיגנון ASP אפשרית רק מגרסה 3.0.4 ומעלה.
תגיות הסגירה של בלוק יכללו את תו השורה החדשה העוקב, אם קיים כזה. כמו כן, תגיות סגירה מסמנות את סופה של ביטוי או פקודה בקוד ה PHP ואין הכרח להוסיף ; בשורה האחרונה של הקוד.
PHP מתירה שימוש במבנה כמו זה:
Example#2 מעבר מצבים מתקדם
<?php
if ($expression) {
?>
<strong>This is true.</strong>
<?php
} else {
?>
<strong>This is false.</strong>
<?php
}
?>