معرفی انواع دادههای موجود در php
متغیرها در php در زمان ایجاد دارای نوع نیستند و میتوانید به صورت پیدرپی محتواهایی با انواع گوناگون را در یک متغیر ذخیرهسازی نمایید. در نگارشهای جدید php امکان تعیین نوع پارامترهای هر تابع امکانپذیر است تا برنامهنویس در ذخیرهسازی اطلاعات متغیرها دقت بیشتری داشته باشد.
تعیین نوع چند مزیت به دنبال دارد:
- باعث میشود تا خطاهای تبدیل ضمنی متغیرهای از بین برود.
- باعث میشود تا خطاهای کدنویسی کمتر شوند.
- میتواند باعث کاهش مصرف حافظه و بهبود کارایی شود.
انواع داده یا Data Type در php
- String - نوع رشتهای یا متنی
- Integer - نوع عدد صحیح
- Float - نوع عدد اعشاری
- Boolean - نوع صحیح و غلط یا صفر و یک
- Array - آرایه
- Object - شیء یا کلاس
- NULL - مقدار نال یا هیچ
- Resource - نوع منبع
انواع رشته و عدد و Boolean
انواع عمومی متغیرها شامل رشتهها و عددها و Boolean به صورت گسترده در برنامهنویسی استفاده میشوند. محدودیتهای کمی در ساخت و استفاده از این نوع متغیرها وجود دارد و در اغلب موارد تبدیل ضمنی آنها به یکدیگر نیز بدون محدودیت و به خوبی انجام میشود. در موارد خاص ممکن است لازم باشد تا تبدیل نوع بین این متغیرها با دقت و به صورت صریح انجام شود تا محاسبات شما به شکل مورد انتظار اتفاق بیفتد.
در نگارشهای جدید php تلاش بر این است تا محدودیتهایی برای تبدیل انواع ایجاد شود. تبدیل ضمنی برخی از انواع متغیرها نتایج غیرمنتظرهای به دنبال دارد و باعث میشود خطاهایی در زمان اجرا رخ دهد که کشف آنها بسیار مشکل هستند.
آرایهها در php
آرایهها در php تفاوتهایی با زبانهای دیگر دارند. نوع کلیدها و نوع مقدارها در اعضای آرایه بدون محدودیت است و برای مثال یک آرایه میتواند شامل یک عضو عددی و یک عضو رشتهای و یک عضو آرایهی دیگر باشد.
به عبارت دیگر ساخت آرایه در php تقریبا با هر نوع کلید و هر نوع مقدار امکانپذیر است. در نتیجه اگر نیاز به برنامهنویسی سیستمهایی است که کارایی در آن پراهمیت است، در هنگام پرکردن اعضای آرایههای بزرگ باید به این نکته توجه شود که نوع کلیدها و مقدارها مثل زبانهای دیگر نمیتواند بهینهسازی شود. همچنین برخی از توابع مدیریت آرایهها در php فعالیتهای خود را با ایجاد یک کپی جدید از آرایه انجام میدهند که میتواند کاری پرهزینه باشد.
اشیاء در php
امکانات جدید در کلاسهای php قابل توجه بودهاند. علاوه بر قابلیتهای متعدد و متنوع کلاسها در php، کارایی استفاده از کلاسها در php هم افزایش پیدا کرده است و نوشتن برنامههایی کاملا شیءگرا را توجیهپذیر کرده است.
فریمورکهای مدرن مثل لاراول به صورت گسترده از اشیاء برای کنترل فرآیند درخواست و محاسبات و پردازش اطلاعات استفاده میکنند.
Resourceها در php
آخرین نوع داده در php نوع Resource یا منبع است. متغیرهای از نوع Resource در حقیقت اشارهگرهایی هستند که به موجودیتی خارج از php اشاره میکنند. ساخت متغیری از این نوع به صورت مستقیم امکانپذیر نیست و تعدادی از توابع بسته به نیاز متغیری از این نوع را برمیگردانند. برای مثال یک اتصال به سرور FTP متغیری از نوع Resource است. php به صورت خودکار اغلب منابع تخصیصیافته را که دیگر نیازی به آن وجود ندارد شناسایی میکند و کار پاکسازی حافظهی مربوط را به انجام میرساند. بنابراین در بیشتر مواقع پس از ایجاد یک Resource نیازی به پاکسازی صریح آن وجود ندارد.
با توجه به اینکه کنترل برنامهنویس روی این نوع از متغیرها محدود است. تلاش بر این است که در نگارشهای جدید php کمتر مورد استفاده باشند و کلاسها جایگزین Resource خواهند شد.