
کلاس در PHP + آموزش رایگان شی گرایی در PHP
انواع کلاس در PHP به سادگی ساخته میشود که در ادامه برای شما شرح میدهیم همچنین نحوه تعریف شی از یک کلاس را بیان کرده و در پایان کاربرد کلمهی کلیدی $this و instanceof را توضیح میدهیم. برنامهنویسی شی گرا (Object-Oriented Programming) (به اختصار: OOP) یک شیوه برنامهنویسی است، که بلوک اصلی اجزای آن، شیها میباشند که در این آموزش، معرفی خواهیم کرد. کلاس (Class)، تمپلتی برای اشیاء است و یک شئ (Object)، یک نمونه از یک کلاس است.
OOP یا برنامه نویسی شی گرایی به زبان ساده
فرض کنیم که کلاسی به نام Fruit داریم. یک میوه (Fruit) میتواند ویژگیهایی مانند نام (name)، رنگ (color)، وزن (weight) و … داشته باشد. متغیرهایی مانند $name، $color و $weight تعریف کنید تا مقادیر این ویژگیها را در خود نگه دارند.
وقتی اشیاء دیگر ساخته میشوند (مانند موز، سیب و …) تمام ویژگیها و رفتارهای کلاس را به ارث میبرند، اما هر شئ مقدار متفاوتی را به این متغیرها نسبت میدهد.
مفهوم شی و کلاس
در ادامه به مفهوم شی و کلاس میپردازیم. یک کلاس با کلمهی کلیدی class تعریف میشود. پس از این کلمه، نام کلاس و {} میآیند. تمام Propertyهای کلاس و متدها درون {} قرار میگیرند:
<?php class Fruit { // code goes here... } ?>
در کد زیر کلاسی به نام Fruit ساختهایم که دو متغیر ($name و $color) و دو متد (set_name() و get_name()) برای گرفتن (Getting) و مقداردهی (Setting) متغیر $name دارد:
<?php class Fruit { // Properties public $name; public $color; // Methods function set_name($name) { $this->name = $name; } function get_name() { return $this->name; } } ?>
نکته: در کلاس به متغیرها، Property و به توابع، Method میگوییم.
اگر قصد شروع یادگیری PHP را دارید ما به شما این دوره را پیشنهاد میکنیم:
دوره آموزش مقدماتی PHP شامل مقدمات و اصول پایه
مثال شی گرایی: تعریف اشیا
در برنامه نویسی شی گرا یا OOP کلاسها بدون اشیاء ارزشی ندارند! میتوانیم از یک کلاس اشیاء مختلفی بسازیم. هر شئ تمام متدها و Propertyهای کلاس را دارد، اما مقدار این Propertyها مختلف است.
اشیاء یک کلاس را با کلمهی کلیدی new تعریف میکنیم.
در مثال زیر، $apple و $banana، نمونههایی از کلاس Fruit هستند:
<?php class Fruit { // Properties public $name; public $color; // Methods function set_name($name) { $this->name = $name; } function get_name() { return $this->name; } } $apple = new Fruit(); $banana = new Fruit(); $apple->set_name('Apple'); $banana->set_name('Banana'); echo $apple->get_name(); echo "<br>"; echo $banana->get_name(); ?>
در مثال زیر، دو متد دیگر را برای گرفتن و مقداردهی متغیر $color به کلاس Fruit اضافه کردیم:
<?php class Fruit { // Properties public $name; public $color; // Methods function set_name($name) { $this->name = $name; } function get_name() { return $this->name; } function set_color($color) { $this->color = $color; } function get_color() { return $this->color; } } $apple = new Fruit(); $apple->set_name('Apple'); $apple->set_color('Red'); echo "Name: " . $apple->get_name(); echo "<br>"; echo "Color: " . $apple->get_color(); ?>
کلمه کلیدی $this
$this به شئ کنونی اشاره میکند و تنها میتوان درون متد از آن استفاده کرد.
به مثال زیر توجه کنید:
<?php class Fruit { public $name; } $apple = new Fruit(); ?>
دورههای مرتبط در فرانش
حالا، از کجا میتوانیم مقدار متغیر $name را عوض کنیم؟ دو راه برای اینکار داریم:
- درون کلاس (با اضافه کردن متد set_name() و استفاده از $this):
<?php class Fruit { public $name; function set_name($name) { $this->name = $name; } } $apple = new Fruit(); $apple->set_name("Apple"); ?>
- بیرون از کلاس (با تغییر مستقیم نام متغیر):
<?php class Fruit { public $name; } $apple = new Fruit(); $apple->name = "Apple"; ?>
کلمهی کلیدی instanceof در PHP
میتوانید با استفاده از این کلمهی کلیدی ببینید که آیا یک شئ به یک کلاس تعلق دارد یا خیر:
<?php $apple = new Fruit(); var_dump($apple instanceof Fruit); ?>
در این آموزش سعی کردیم بسیار ساده شما را با مفاهیم ابتدایی برنامه نویسی شی گرا آشنا کنیم و شما چگونگی تعریف کلاس، شی و همچنین کاربرد دو کلمه instanceof و this را بدانید.
دورههای مرتبط در فرانش
ممنونم از اموزش بسیار خوبتون