include()

פקודת include( ) מספחת ומריצה או מעריכה קובץ מסויים .

הפקודות require( ) ו - include( ) זהות בכל מובן חוץ מאשר האופן בו הן מטפלות בשגיאות או בחוסר הצלחה בסיפוח הקובץ . פקודת include( ) מייצרת אזהרה בעוד שפקודת require( ) מייצרת Fatal Error - שגיאה שתגרום לעצירת הריצה של הסקריפט . אם ברצונך למנוע את ריצת הסקריפט במקרה שקובץ לא נמצא , יש להשתמש ב - require( ) . פקודת include( ) אינה מתנהגת באופן כזה.כמו כן , מומלץ לקבוע את ערכו של include_path .

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

דוגמה 11-3 . דוגמה בסיסית ל - include( )






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

דוגמה 11-4 . סיפוח מתוך פונקציה

 
?php

 
function

 
foo(

 
)

 
{

 
global

 
$color

 
;

 
include

 
'vars.php'

 
;

 
echo

 
"A

 
$color

 
$fruit"

 
;

 
}

 
/

 
*

 
vars.inc

 
is

 
in

 
the

 
scope

 
of

 
foo(

 
)

 
so

 
*

 
*

 
$fruit

 
is

 
NOT

 
available

 
outside

 
of

 
this

 
*

 
*

 
scope

 
.

 
$color

 
is

 
because

 
we

 
declared

 
it

 
*

 
*

 
as

 
global

 
.

 
*

 
/

 
foo()

 
;

 
/

 
/

 
A

 
green

 
apple

 
echo

 
"A

 
$color

 
$fruit"

 
;

 
/

 
/

 
A

 
green

 

?





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

אם מאופשרת אופציית " URL fopen wrappers " (שהיא ברירת מחדל בהגדרות ) , יש באפשרותינו לציין קישור HTTP במקום שם קובץ מקומי . אם שרת המטרה מפרש קבצי PHP , תיתכן העברת משתנים לקישור בשיטת HTTP GET . זה שונה במקצת מסיפוח של קובץ מקומי היורש את המשתנים מהסקריפט הראשי . הסקריפט המרוחק בעצם מורץ ותוצאתו מסופחת לסקריפט המקומי .

דוגמה 11-5 . שימוש ב - include( ) דרך HTTP








יש לעיין גם בפרקים על קבצים מרוחקים , fopen() ו- file() למידע נוסף בנושא.

מאחר והפקודות include( ) ו - require( ) הן מבנה מיוחד בשפה , חובה לעטוף אותן בסוגריים מסולסלים כאשר רוצים להתנות את ביצוען .

דוגמה 11-6 . התנייה של פקודת include( )






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

הערה : בגרסה 3 של PHP לא תיתכן קריאה ל - return( ) אלא מתוך פונקציה בלבד ולא מתיוך קובץ ראשי או קובץ מסופח .

דוגמה 11-7 . פקודות include( ) ו - return( )






המשתנה $bar יקבל את הערך 1 כי הסיפוח התבצע בהצלחה . שימו לב להבדל בין הדוגמאות הקודמות . הראשונה משתמשת בפקודת return( ) מקובץ מסופח והשנייה - לא . דרכים נוספות לסיפוח קובץ לתוך משתנים ניתן לממש תוך שימוש ב - fopen( ) , file( ) או תוך שימוש ב - include( ) בשילוב עם פונקציות לשליטה בפלט .

עיין גם בפרקים על require( ) , require_once( ) , include_once( ) , readfile( ) , virtual( ) ו - include_path .