طراحی وب سایت کتابخانه

طراحی وب سایت کتابخانه

ثابت ها (Constants)

جمعه, ۱۵ اسفند ۱۳۹۳، ۰۷:۲۱ ب.ظ

    ثابت یک شناسه (نام) برای یک مقدار خاص است. حتما از نام آن نیز می توان فهمید که مقدار یک ثابت را در طول اجرای برنامه نمی توان تغییر داد. به صورت پیش فرض، ثابت ها به کوچکی و بزرگی حروف حساس هستند. طبق قرارداد، شناسه (نام) یک ثابت را همیشه با حروف بزرگ می نویسند.

     در نامگذاری ثابت ها در پی اچ پی از قوانین نامگذاری برچسب ها پیروی می شود؛ یعنی همانطور که قبلا گفته شد یک نام معتبر با یک حرف یا علامت زیرخط (_) شروع می شود و پس از آن هر تعداد حرف یا عدد یا علامت زیر خط (_) می توان قرار داد. این قوانین را با استفاده از قوانین عبارت های رایج می توان به این شکل نوشت:

[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
    دامنه (حوزه) کاری ثابت ها، سراسری است. به همین دلیل در هر نقطه از کد خود بدون هیچ محدودیتی می توانید به ثابت تعریف شده دسترسی داشته باشید.
شیوه تعریف کردن یک ثابت
      برای اینکه بتوانید ثابت مورد نظر خود را تعریف کنید باید از تابع define() استفاده کنید. البته از نسخه 5.3.0 به بعد می توان با استفاده از کلمه کلیدی const در خارج از تعریف یک کلاس، ثابت مورد نظر خود را تعریف کرد. وقتی که یک ثابت را تعریف می کنید هرگز نمی توان آن را تغییر داد.
     ساختار نحوی تابع define به صورت زیر است:
define(name, value, case-insensitive)
     همانطور که می بینید این تابع سه پارامتر دارد: 
  • name: منظور نام ثابت است. 
  • value: مقدار ثابت را در این قسمت می نویسیم.
  • case-insensitive: این پارامتر مشخص می کند که آیا نام ثابت به بزرگی و کوچکی حروف حساس باشد یا نه. در حالت پیش فرض مقدار آن false است. 
     اگر نام یک ثابت را بدانید، به راحتی می توانید به مقدار آن دسترسی پیدا کنید. برخلاف متغیرها که قبل از نامشان یک علامت $ قرار می گیرد، قبل از نام یک ثابت هیچ علامتی قرار ندارد.
     اگر یک ثابت را قبلا تعریف نکرده باشید و در داخل کد خود بخواهید آن را فراخوانی کنید، پی اچ پی فرض می کند که نام خود ثابت منظور نظر شما است، به عبارت دیگر نام ثابت را به عنوان یک رشته در نظر گرفته و همان نام را نمایش می دهد (ONSTANTC دربرابر "CONSTANT"). البته در این حالت یک خطا در سطح  E_NOTICE نیز رخ می دهد اگر شک دارید که یک ثابت وجود دارد یا نه، می توانید با استفاده از تابع defined() این موضوع را بررسی کنید.
    حالا به یک مثال توجه کنید:
<?php
define("CONSTANT", "به طوک خوش آمدید.");
echo CONSTANT; // outputs "به طوک خوش آمدید."
echo Constant; // خروجی خود اسم خواهد بود، چون چنین ثابتی تعریف نشده
               // یک خطا در سطح E_NOTICE هم ایجاد می شود.
?>
     
موافقین ۲ مخالفین ۰ ۹۳/۱۲/۱۵
مهرداد یوسفی فرد

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی