
کلاس ها و اشیا در PHP
در این بخش به بررسی کلاس ها و اشیا در PHP می پردازیم، یک کلاس قالبی هست برای اشیا و یک شی ویژگی ای هست برای کلاس، در ادامه توضیحات بیشتری را ارائه خواهیم داد…
قالب OOP
فرض کنید یک کلاس با نام Fruit (میوه) داریم. Fruit می تواند ویژگی هایی مانند نام، رنگ، اندازه، و غیره داشته باشد. ما می توانیم متغیر هایی با نام های $name و $color و $weight برای نگهداری این ویژگی ها و خصوصیات تعریف کنیم.
ما می توانیم اشیا هایی مانند: سیب، موز، گیلاس و غیره تعریف و ایجاد کنیم. هنگامی که اشیا های منفرد ایجاد می شوند تمام ویژگی ها و رفتار ها را از کلاس به ارث می برند، اما هر شی مقادیر متفاوتی برای ویژگی ها خواهد داشت.
تعریف یک کلاس در PHP
یک کلاس با کلمه کلیدی class
سپس به دنبال آن نام کلاس و در آخر با براکت های {}
تعریف می شود.
تمام ویژگی ها و متد ها داخل براکت ها تعریف می شوند:
نحوه تعریف Class
<?php
class Fruit {
// code goes here...
}
?>
در مثال زیر داخل کلاس Fruit دو متغیر تحت عنوان $name و $color تعریف کرده ایم، سپس دو تابع با نام های set_name()
و get_name()
تعریف کرده ایم که در ادامه توضیحات بیشتری خواهیم داد:
نکته: در کلاس ها، به متغیر ها پراپرتی (properties) و به توابع متد (mothods) می گویند.
تعریف اشیا در PHP
کلاس ها بدون اشیا هیچ معنایی ندارند! ما می توانیم چندین شی را از یک کلاس ایجاد کنیم. هر شیء دارای تمام پراپرتی ها و متد های تعریف شده در کلاس است، اما مقادیر پراپرتی های متفاوت خواهند بود.
برای ایجاد یک شی از یک کلاس از کلمه کلیدی new
سپس نام کلاس همراه با پرانتر ها ()
استفاده می کنیم.
مثال
در مثال زیر دو شی تعریف شده با نام های $apple
و $banana
از کلاس Fruit داریم:
خروجی
Apple
Banana
مثال
در مثال زیر دو متد جدید برای پراپرتی $color
جهت دریافت و تنظیم این ویژگی در اشیا تعریف می کنیم:
خروجی
Name: Apple
Color: Red
کلمه کلیدی $this در PHP
کلمه کلیدی $this
به شی فعلی اشاره می کند و فقط داخل متد ها فعال است.
به مثال زیر نگاه کنید:
مثال
<?php
class Fruit {
public $name;
}
$apple = new Fruit();
?>
اکنون چطور می توانیم مقدار ویژگی $name
را تغییر بدهیم ؟ دو راه برای این کار وجود دارد:
1. داخل کلاس (با اضافه کردن متد set_name()
) و استفاده از $this
این کار را انجام می دهیم.
مثال
خروجی
Apple
2. خارج از کلاس (با تغییر مستقیم مقدار ویژگی)
مثال
خروجی
Apple
عبارت instanceof در PHP
شما می توانید برای بررسی اینکه آیا یک شی متعلق به یک کلاس خاص هست یا نه از کلمه کلیدی instanceof
استفاده کنید:
خلاصه
<?php
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>
آیا این مطلب برای شما مفید بود ؟
ضرورت هماهنگى با مردم
و درود خدا بر او، فرمود: هماهنگى در اخلاق و رسوم مردم، ايمن ماندن از دشمنى و كينه هاى آنان است.
حکمت 401 نهج البلاغه