جشنواره ۵۰٪ تخفیف فرانش به مدت محدود

جشنواره ۵۰٪ تخفیف فرانش محدود

0 روز 0 ساعت 0 دقیقه 0 ثانیه

شروع یادگیری

کلاس در 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();
?>

آموزش شی گرایی در php رایگان

کلمه کلیدی $this

$this به شئ کنونی اشاره می‌کند و تنها می‌توان درون متد از آن استفاده کرد.

به مثال زیر توجه کنید:

<?php
class Fruit {
  public $name;
}
$apple = new Fruit();
?>

 

دوره‌های مرتبط در فرانش

حالا، از کجا می‌توانیم مقدار متغیر $name را عوض کنیم؟ دو راه برای اینکار داریم:

  1. درون کلاس (با اضافه کردن متد set_name() و استفاده از $this):
    <?php
    class Fruit {
      public $name;
      function set_name($name) {
        $this->name = $name;
      }
    }
    $apple = new Fruit();
    $apple->set_name("Apple");
    ?>
  2. بیرون از کلاس (با تغییر مستقیم نام متغیر):
    <?php
    class Fruit {
      public $name;
    }
    $apple = new Fruit();
    $apple->name = "Apple";
    ?>

کلمه‌ی کلیدی instanceof در PHP

می‌توانید با استفاده از این کلمه‌ی کلیدی ببینید که آیا یک شئ به یک کلاس تعلق دارد یا خیر:

<?php
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>

در این آموزش سعی کردیم بسیار ساده شما را با مفاهیم ابتدایی برنامه نویسی شی گرا آشنا کنیم و شما چگونگی تعریف کلاس، شی و همچنین کاربرد دو کلمه instanceof و this را بدانید.

دوره‌های مرتبط در فرانش

 

 

مرتضی شایق

مرتضی شایق

مدیر دیجیتال مارکتینگ

فعال در دیجیتال مارکتینگ در تخصص‌های: SEO (بهینه‌سازی سایت برای موتورهای جستجوگر)، SEM (بازاریابی در موتورهای جستجوگر)، UX (تجربه کاربری)

بدون دیدگاه

دیدگاهتان را بنویسید