Forum und email

קבועים

Table of Contents

קבוע הוא מזהה (שם) לערך פשוט. לאחר שהשם נקבע, לא ניתן לשנותו בזמן ריצת הסקריפט. (קבועי הקסם __FILE__ ן__LINE__ הם יוצאי דופן).

השם של הקבוע מציית לאותם הכללים של כל תג בphp. שם קבוע תקין מתחיל באות לועזית או קו תחתי, ההמשך יכול להיות מספר בלתי מוגבל של אותיות לועזיות, מספרים, או קווים תחתיים. כביטוי רגולרי, זה יכתב כך: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

Note: לצורכינו, אות לועזית היא בתחום a-z, A-Z, וערך הASCII הוא בין 127 ל255 (0x7f-0xff).

תחום הקבוע הוא גלובלי.

תחביר

ניתן להגדיר קבוע באמצעות שימוש בפונקציה define(). מהרגע שקבוע נוצר, לא ניתן לשנות את ערכו.

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

ניתן לקבל את תוכנו של קבוע באמצעות ציון שמו בלבד. שלא כמו במשתנים, לא צריך להתחיל את שם הקבוע ב$. ניתן גם להשתמש בפונקציה constant(), כדי לקרוא ערך של קבוע, אם ברצונכם לקבל את שם הקבוע באופן דינמי. השתמשו בget_defined_constants() כדי לקבל רשימה של כל הקבועים המוגדרים.

Note: קבועים ומשתנים (גלובליים) נמצאים בתחום שם אחר. זה רומז למשל ש TRUE ו $TRUE שונים.

אם אתם משתמשים בקבוע לא מוכרז, php תבין שאתם מתכוון לשם הקבוע עצמו. הודעה תוצג כשזה יקרה. השתמש בפונקציה defined() אם אתה רוצה לדעת אם קבוע מוגדר.

אלו ההבדלים בין קבועים למשתנים:

  • לקבועים אין סימן דולר ($) בתחילתם;
  • קבועים יכולים להיות מוגדרים ללא התחשבות; בחוקי טווחי משתנים (scoping rules)
  • ניתן להגדיר קבועים שוב, גם אחרי שקבעתם להם ערך;
  • ולבסוף, ניתן להכניס לקבועים רק מידע סקלרי.

Example#1 קבועים מוגדרים מראש

<?php
define
("CONSTANT""Hello world.");
echo 
CONSTANT// outputs "Hello world."
echo Constant// outputs "Constant" and issues a notice.
?>