دوره های پیشنهادی

آموزش شی گرایی در php و تعریف متد در کلاس

علیرضا حاتمی نیا 3487

سلام مجدد خدمت شما کاربران محترم وبسایت ilikephp و همین طور علاقه مندان به آموزش های php. در جلسه قبل در مورد مفاهیم شی گرایی و ساخت یک کلاس در php صحبت کردیم و دانستیم که چگونه یک متغیر تعریف کرده و یک نمونه یا یک شی از آن کلاس را ایجاد کنیم. در این جلسه به ادامه آموزش شی گرایی  و ساخت متد های یک کلاس در php می پردازیم.

تعریف متدهای یک کلاس

در جلسات قبل در مورد ساخت توابع در php به طور کامل صحبت کردیم. به توابعی که به طور خاص در یک کلاس تعریف می شوند، متد (method) گفته می شود و تمامی کارهایی که یک نمونه شی انجام می دهد را داخل متدها تعریف می کنیم.

مثال:

برای کلاس myClass یک متد به نام setUsername تعریف می کنیم که در آن متغیر username را مقدار دهی می کند.

class myClass {
    public $username = 'alireza';
    public function setUserName($newUser) {
        return $this -> username = $newUser;
    }
}

نکته: توجه داشته باشید در بدنه متدها برای دسترسی به شی ساخته شده در خارج از کلاس بایستی از کلمه کلیدی $this استفاده کنیم. با این کار مقدار متغیر اشاره شده برابر با مقداری می شود که توسط شی ساخته شده تعیین شده باشد. به مثال زیر توجه کنید.

class myClass {
    public $username = 'alireza';
    public function setUserName($newUser) {
        return $this -> username = $newUser;
    }
}
$obj = new myClass;
echo $obj -> setUserName('mohsen');

خروجی کدهای بالا به شکل زیر می شود:

mohsen

در مثال بالا می توانیم مقدار متغیر username را در تابع setUserName مقداردهی کنیم و در تابعی جدید با نام getUserName مقدار را return کنیم.

class myClass {
    public $username = 'alireza';
    public function setUserName($newUser) {
        return $this -> username = $newUser;
    }
    public function getUserName () {
        return $this -> username;
    }
}
$obj = new myClass;
$obj -> setUserName('mohsen');
echo $obj -> getUserName();

خروجی کدهای بالا به صورت زیر می شود.

mohsen

می توانیم این مقدار دهی را توسط شی ساخته شده چندین بار انجام دهیم و مقدارهای جدید داشته باشیم:

<?php

class myClass {
    public $username = 'alireza';
    public function setUserName($newUser) {
        return $this -> username = $newUser;
    }
    public function getUserName () {
        return $this -> username . '<br>';
    }
}
$obj = new myClass;
$obj -> setUserName('mohsen');
echo $obj -> getUserName();

$obj -> setUserName('ahmadreza');
echo $obj -> getUserName();

خروجی کدهای بالا به شکل زیر می شود

mohsen
ahmadreza

 

کلمات کلیدی

لینک های مرتبط

طراحی سایت اصفهان
علیرضا حاتمی نیا
طراح و برنامه نویس وب
طراحی وبسایت های واکنش گرا
طراحی و پیاده سازی سیستم مدیریت محتوا
سئو و بهینه سازی سایت