ثابت ها
همان طور که در مطلب قبلی ذکر شد، مقادیر ذخیره شده در متغیر ها را می توانید تغییر دهید. همچنین می توانید ثابت ها (constant) را تعریف کنید. ثابت مقداری را در خود ذخیره می کند اما امکان تغییر دادن این مقدار وجود ندارد. مثلاً ممکن است آدرس دایرکتوری تعدادی از فایل ها را به صورت ثابت ذخیره کنید. این کار از تکرار کردن آدرس جلوگیری کرده و از حجم برنامه می کاهد.
تعریف ثابت با استفاده از دستور define انجام می شود:
define('MYDIRECTORY', '/personal/');
اگر این خط به به اسکریپت اضافه کنیم، یک ثابت دربردارنده آدرس پوشه personal داریم که در دایرکتوری روت قرار گرفته است. نام ثابت ها را با حروف بزرگ می نویسند تا از متغیر ها تفکیک شوند. تبعیت از این قرارداد الزامی نیست اما با تبعیت از آن کدها خواناتر می شوند.
تفاوت دیگر ثابت و متغیر در این است که در کنار ثابت از علامت $ استفاده نمی شود. اگر بخواهید از مقدار یک ثابت استفاده کنید کافی است تا نام آن را بکار گیرید. مثلاً برای استفاده از ثابت بالا کافی است بنویسید:
echo MYDIRECTORY;
برای مرور و مشاهده ثابت ها و متغیر هایی که از قبل تعریف شده اند از ()phpinfo استفاده می شود:
phpinfo();
این تابع اطلاعات مروبط به ثابت ها و متغیر ها و نیز اطلاعات مفید دیگری را ارائه می کند.
تفاوت دیگر ثابت و متغیر در نوع داده هائی است که می توانند ذخیره کنند. ثابت ها تنها می توانند داده های رشته ای، اعشاری، بولی و عدد صحیح را ذخیره کنند.
میدان دید متغیر
اصطلاح میدان دید (scope) به بخش هائی از اسکریپت اشاره می کند که در آنها یک متغیر خاص قابل رویت است. شش قاعده کلی در مورد میدان دید PHP عبارتند از:
- متغیر های فراجهانی داخلی در هر جای اسکریپت قابل رویت هستند.
- ثابت ها، پس از تعریف شدن، در سرتاسر اسکریپت قابل رویت هستند.
- متغیر های جهانی (global) که در یک اسکریپت تعریف شده اند فقط در همان اسکریپت دیده می شوند و امکان رویت آنها در داخل توابع وجود ندارد.
- متغیر هایی که درون توابع به صورت جهانی تعریف می شوند، به متغیر های جهانی با همان نام اشاره می کنند.
- متغیر هایی که درون توابع و به صورت ایستا تعریف می شوند را نمی توان از خارج از تابع مشاهده کرد. اما مقدار خود را بین اجرای یک تابع و اجرای بعدی حفظ می کنند(در آینده به طور کامل بررسی می کنیم).
- متغیرهایی که درون تابع بوجود می آیند به آن تابع تعلق دارند و با اتمام فعالیت تابع از بین می روند.
آرایه های فرا جهانی
از نسخه 4.1 PHP به بعد، آرایه های GET_$ و POST_$ و برخی متغیر های خاص از قوانین میدان دید خاصی استفاده می کنند. این آرایه ها و متغیر ها را فراجهانی (superglobal) می نامند و در درون و برون توابع دیده می شوند.
لیست کامل آرایه های فراجهانی عبارتست از:
- GLOBALS$ آرایه ای از متغیر های جهانی که امکان دسترسی به متغیر های جهانی درون یک تابع را فراهم می کند.
- GET$ آرایه ای از متغیرهاست که توسط روش GET به اسکریپت فرستاده شده اند.
- POST$ آرایه ای از متغیرهاست که توسط روش POST به اسکریپت فرستاده شده اند.
- COOKIE$ آرایه ای از متغیر های cookie.
- FILES$ آرایه ای از متغیر های مربوط به ارسال (upload) فایل.
- REQUEST$ آرایه ای از همه ی ورودی های کاربر که محتویات ورودیها مانند GET$ ، POST$ و COOKIE$ را شامل می شود.
- SESSION$ آرایه ای از متغیر های نشست (session).
سلام. شما می تونید در زمینه دلفی بهم کمک کنید؟ چند تا سئوال داشتم.
پاسخحذفاز سایت خوب ومفید شما لذت بردم لطفا مرا در مورد مباحث متغیر های خاص وتوابع تاریخ وزمان در php راهنمایی کنید.
پاسخحذفبا تشکر
لطفا یک سورس نمایش تعداد افراد آنلاین به من نشون میدید که خوب کار کنه ؟
پاسخحذفخیلی ممنون.
کتاب انتشارات نص رو دقیقاً کپی پیست میکنید اینجا؟!!
پاسخحذفتاریخ انتشار و نام کتاب انتشارات نص رو لطفا اعلام کنین.
پاسخحذفمطمئنین که این انتشارات مثل خیلی های دیگه مطالب کتابهاش رو از وبلاگ من و سایر دوستان فنی کپی نکرده؟!