מדוע לא סוגרים לעולם תגית PHP?

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

למשל:


<?php //open tag

// scrhipt

//close tag below
?>

ה-?> היא תגית הסגירה.

מתכנת נבון לעולם לא סוגר את תגית ה-PHP שלו. במערכות רבות (כגון דרופל) זה נמצא אפילו ב-Coding Conventions של המערכת. תמיד משמיטים את תגית הסגירה. נשאלת השאלה – מדוע? ישנן מספר סיבות טובות. הסיבה הטובה ביותר היא שכל רווח שיש לאחר תגית הסגירה, גם אם לא מכוון, יכול להביא לתוצאות לא צפויות למערכת. הרי רווח, או ירידת שורה גם היא תו שיודפס במערכת עם הרצת הסקריפט – וכך יכולים להיווצר רווחים ריקים בפלט ה-HTML. בנוסף, הסקריפט יכול להכשל אם אנו מתחילים לשחק עם ה-headers. כדי להדגים זאת, ניצור שני קבצים חביבים. אחד בשם index.php והשני בשם other.php, שניהם יסגרו בתגית הסגירה ?>

הנה index.php:


<?php
// Some scripting

include('other.php');

header('Location: http://example.com/page.php');

?>

והנה: Other.php – שימו לב לירידת השורה בתחתית!


<?php
// Some scripting

?>




 

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

הודעת שגיאה

הודעת שגיאה

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

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

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (1 הצבעות, ממוצע: 5.00 מתוך 5)

תגיות: פורסם בקטגוריה: פתרונות ומאמרים על פיתוח אינטרנט

אל תשארו מאחור! יש עוד מה ללמוד!

הצטרפו לעדכונים!

העדכונים נשלחים אך ורק כאשר האתר מתעדכן.

רן בר-זיק

רן בר-זיק כותב כל המאמרים באינטרנט ישראל, מפתח אינטרנט מנוסה במגוון שפות ופלטפורמות.
ניתן ליצור איתי קשר באמצעות:
כתובת המייל שלי: info@internet-israel.com.
פרופיל הלינקדאין שלי
הטוויטר שלי
פרופיל הפייסבוק שלי
אני תמיד שמח לייעץ ולעזור, אך בשל עומס הפניות הרב, אני לא תמיד מצליח לענות במהירות.

מאמרים אחרונים