אתה נמצא כאן יסודות השפה  >>  תחביר בסיסי  >>  תגי פתיחה וסיום

תגי פתיחה וסיום

כאשר PHP מנתחת קובץ, היא עוברת על הטקסט ומוציאה את כל מה שכתוב כפלט, עד אשר היא נתקלת בתג הפתיחה המיוחד של PHP. אז היא מתחילה להריץ את כל הקוד שהיא מוצאת עד לתג הסגירה המיוחד של PHP, שמסמן כי קוד ה-PHP הסתיים, והיא מתחילה שוב להוציא את כל הכתוב כפלט. טכניקה זו מאפשרת ל-PHP ליצור קבצים משולבים של HTML ו-PHP, כך שכל מה שכתוב בין תגי PHP ייחשב כקוד PHP, וכל מה שמחוץ לתגים יועבר לפלט ללא שינוי.

ישנם מספר דרכים לסמן בלוקים של קוד PHP. שתיים מהדרכים יעבדו תמיד:

<?php
/*תג הפתיחה של PHP.*/

  echo "code of PHP.";
/*קוד התוכנית ב-PHP.*/

?>
/*תג הסיום של PHP.*/

<SCRIPT language="php">
echo "code of PHP.";
</SCRIPT>

שתי דרכים נוספות יעבדו בהתאם לקונפיגורציה של PHP: (הראשון הוא בדר"כ ברירת מחדל של הקונפיגורציה)

<?
  echo "short tags of PHP.";
?>

<%
  echo "ASP-style tags.";
%>

אם אנו רוצים להוציא משהו לפלט, ניתן לקצר את הפעולה הזו ב-PHP (במקום להשתמש בפקודת ההדפסה echo()):

<A href="<?=
/*מדפיס לפלט את כל מה שהקוד מחזיר,
ללא שימוש בפונקציה echo().
*/
 $address ?>">Go To</A>

ניתן "לשבור" את קוד ה-PHP, לכתוב מחוץ לתגים ואח"כ להמשיך את קוד ה-PHP שוב. כמו בדוגמא הבאה:

<?php
  if ($expression) {
   ?>
/*שבירת הקוד של PHP.*/

   <B>This is TRUE.</B>
   
<?
/*המשך הקוד של PHP.*/

  } else {
   ?>
/*שבירת הקוד של PHP
פעם נוספת.
*/

   <B>This is FALSE.</B>
   
<?
/*המשך הקוד של PHP
פעם נוספת.
*/

  }
?>

צורת כתיבה זו פעמים נוחה יותר ויעילה יותר מהשימוש בפקודת echo().


תגובות בנושא

אני לא יודע אם זה קשור לכאן 07-12-02 05:01
 murder
#296

אבל לא מצאתי מקום אחר...
מה רע בקוד הזה:

<php?

$logo = 'images/logo';
$title = 'Welcome!';

?>

<html>
<body>
<div dir="Rtl">
<head>
<title><? $title ?></title>
</head>
<img src="<? $logo ?>" border="0">
ברוכים הבאים ל.....בלה בלה בלה


כלומר, זה עושה לי את הכותרת $title ואת התמונה $logo

תשובה לבעיה בקוד 07-12-02 05:02
 אלי חן (מנהל)
#298

אם אתה רואה את תגי PHP בדפדפן אז PHP לא הותקן טוב (תוודא איזה סיומות של קבצים עוברים דרך מנוע ה-PHP).
אתה לא מוציא לפלט את מה שאתה צריך.. תשתמש בתג =?> כדי להדפיס ערך של משתנה לפלט. תסתכל בדוגמאות הקוד שלמעלה, ותבין.

אני חייב לציין 08-12-02 02:02
 יוכי
#335

בעמוג הראשון שזה אחלה של מדריך בן הטובים שראיתי שמסביר פשוט את ההתחלה המשיכו כך1!

משהו אחד לא הבנתי 10-12-02 06:02
 נועה
#467

לא הבנתי איך ההסבר האחרון עובד... לא הבנתי מה הוא עושה ...
(ניתן לשבור את קוד הPHP, לכתוב מחוץ לתגים ואחר כך להמשיך את קוד ה PHP שוב)

שבירת קוד PHP 31-10-02 01:01
 אלי חן (מנהל)
#468

מנוע ה-PHP עובר על הסקריפט.. PHP מריצה את כל הקוד הנמצא בין כל זוג תגי PHP.. מה שלא נמצא בין תגי PHP, יוצא אוטומטית לפלט..
לכן, ניתן לכתוב קוד PHP, לסגור את התג, לכתוב קוד HTML (שייצא אוטומטית לפלט), ואח"כ שוב לפתוח תג של PHP ולהמשיך את הקוד מהנקודה שהפסקנו.

יש חי בעיה 01-11-02 03:02
 עמר
#547

התקנתי את PHP שיניתי את הרג'יסטר שלי עשיתי הכל.
אבל כשאני פותח קבצי PHP נפתח לי חלון קטן של דוס עם הקוד לחצי שנייה ואז נסגר...
בקיצור אני לא מצליח להפעיל את הקוד שכתבתי.

בקשר לכל הפקודות !! 02-11-02 05:02
 יאיר
#605

תקשיבו ח'ברה מה אני יכול לעשות בשביל ללמוד את השפה הזאת php , אני חייב ללמוד אותה ואין אני לא מצליח לפי ההסבריפ פה , כי למשל יש איזה דוגמא ופתאום בתמונה אתה שם לי ($expression).
מאיפה אני יודע מה זה ???
ועוד כל הסימנים פה כל הסוגריים , </B> זה לא מובן .....

בבקשה אני נואש לעזרה !!!

תשובה ל בעיה בקוד... 03-11-02 02:00
 The Best
#646

הנה הקוד המתוקן:

<?php

$logo = 'images/logo';
$title = 'Welcome!';

?>

<html>
<body>
<div dir="Rtl">
<head>
<title><? echo $title; ?></title>
</head>
<img src="<? echo $logo; ?>" border="0">
ברוכים הבאים ל.....בלה בלה בלה

בתור תכנת אני יכול להגיד שזה ברמה מאוד גבוהה 02-12-03 08:01
 שלומי
#718

כל הכבוד לכם !

כן, גם אני בהתחלה לא הבנתי... 04-12-03 13:01
 אבי
#831

כן גם אני בהתחלה לא הבנתי כלום בנושא הזה, ילגית לנושאים אחרים ( P: ) ואז למדתי אותם ולאט
לאט גם למדתי את הבסיסים..
ככה אני למדתי :)

כתיבה 08-12-04 08:00
 דוד אזולאי
#1740

אם אני רוצה לכתוב משהו התגים של php, אז איך אני
עושה את זה?
לי אין ידע בכלל ב-php,כרגע התחלתי ללמוד, ובשיעור הראשון ישר שמתם את הפקודה <?php ו<?echo
ואין לי מושג איך להשתמש בהם,מה ההבדל בין php
וecho?
וגם בסוף השיעור הראשון בו שברתם את הקוד,
אז לא הבנתי מה בדיוק עשיתם שם....
כלומר עשיתם דוגמא למקרה ש-expression (שאין לי
מושג מה זה) הוא אמת או שקר (בוליאני)?
סליחה אם זה נראה כאילו אני מתלונן או מבקר את המדריכים שלכם אבל באמת שאני רק רוצה לדעת ולהבין.תודה-מדוד

תשובה ליאיר 04-12-06 08:01
 אוריאל זילברמן
#2672

[1] יאיר, חשוב לזכור כי בונה האתר חייב לצאת מנקודת הנחה שלאנשים שהוא מלמד יש ידע בסיסי בתכנות בשפה כלשהי וכמו כן גם ידע בסיסי בHTML, מכיוון שאם אין לך שום ידע בהם אז עבודת לימוד השפה PHP הופכת להיות מפרכת בהרבה, אני בטוח כי תוכל למצוא די בקלות מקומות שמלמדים HTML ו/או C, שהיא אחת משפות התכנות השימושיות אך פשוטות שיש.

תשובה ליאיר(2) 04-12-06 08:01
 אוריאל זילברמן
#2673

[2] לגבי EXPRESSION, EXPRESSION באנגלית פירושו ביטוי, ובתכנות(שוב, צריך לזכור כי מתכנת האתר יצא מנקודת הנחה שאתה מבין מעט, ברמה בסיסית את עקרונות התכנות) הכוונה היא לתנאי בד"כ, כאן המצב הוא שלאחר הIF(פעולת תנאי - "אם-אז", יש ביטוי, זהו התנאי, EXPRESSION), אם הוא מתקיים, (זאת אומרת אם הביטוי אמיתי ונכון) אז התוכנית תיכנס לבלוק שאחרי התנאי(}), אם לא, היא תיכנס לבלוק שאחרי הELSE(אחרת), שים לב שאחרי כל בלוק יש סגירת בלוק({).

לא הבנתי מה עשיתם בשבירת קוד 08-12-07 07:01
 אבי אריה
#2778

לא הבנתי מה עשיתם בשבירת קוד?
למה הוא מציג את This is FALSE.?
כפי שהבנתי הוא מציג את זה בגלל שהוא מחוץ לקוד נכון?
א"כ למה הוא לא מציג גם את זה This is TRUE.? הרי הוא גם מחוץ לקוד.

תודה רבה על המדריכים הנפלאים!

מעבר שורה 03-11-07 06:01
 אלה גרויסמן
#2799

קודם כל : תודה על העתר הניפלא.
עוזר לי כמתחילה את דרכי בלימוד PHP.
נתקלתי בבעיה:
echo "This spansnmultiple lines. The newlines will benoutput as well.";
לא עושה מעבר שורה.

לקונפיגורציה 03-12-08 03:01
 רועי ביתן
#2800

מה פירוש המילה: לקונפיגורציה?

איפה לכתוב את זה? 09-12-08 02:00
 אבי איסקוב
#2810

צריך לכתוב את זה בדף של האתר או בדף נפרד?

תודה רבה אלי חן 07-12-09 15:02
 חגי און
#2844

עבור החלק של שבירת קוד ה-PHP, אולי כדאי להסביר בקצרה מה הערך שאתה נותן למשתנה ולפיכך מה נצפה לראות כתוצאה ומה יקרה אם ניתן ערך אחר.
בלי קשר אתר מעולה ולי כמתכנת C++ נותן התחלה ברורה ומועילה ללימוד, למען מתחילים כדאי אולי להוסיף הקדמה קצרצרה לגבי התגים של HTML, רק את הבסיס ויהיה מובן ממש לכל אחד.הרבה שמחה, חגי

שילוב PHP בפלאש 02-11-09 21:00
 הארי פוטר
#2874

שלום, אני מנהל את אתר על הארי פוטר שכתובותו http://www.potter.co.il ואני מנסה לשלב PHP בפלאש. מישהו יודע איך אני עושה את זה?


לדף הקודםתחביר בסיסי -הקודם
לתחילת הדףלתחילת הדף
הבא- הפרדת פקודותלדף הבא