متد یا method در کلاس
یکی از بخش های اصلی دیگر شی گرایی در php، متدهای کلاس می باشند.
متدها محل پردازش دستورات در کلاس می باشند و یک کلاس از تعداد زیادی متد برای انجام نقش خود استفاده می کند.
تعریف متد در کلاس
در مفهوم کلاس در شی گرایی، فهمیدیم که هر شی، علاوه بر یکسری ویژگی که property شی خوانده می شود، دارای یکسری رفتارها نیز می باشد.
مثلا برای شی ماشین می توانیم رفتارهایی مثل حرکت کردن، ایستادن، ترمز کردن و … را در نظر بگیریم.
اگر بخواهیم این رفتارها را در کلاس تعریف کنیم، به آن ها متد کلاس گفته می شود.
class Foo { function bar () { //statements } }
همانطور که در کد بالا مشاهده می کنید، متد bar در تابع تعریف شده است.
به توابعی که درون کلاس تعریف می کنیم، متد آن کلاس گفته می شود.
استفاده از method خارج از کلاس
در مطلب توابع در php دانستیم که یک تابع تا زمانی که فراخوانی نشود، قابل استفاده نیست.
متدهای کلاس نیز تا زمانی که فراخوانی نشوند، قابل استفاده نیستند.
برای فراخوانی کردن یک متد، باید از شی ایجاد شده از کلاس کمک بگیریم.
یعنی ابتدا از کلاسی که متد در آن است، یک شی بسازیم و سپس آن متد را فراخوانی کنیم:
class Foo { function bar() { return 'Biawp.ir'; } } $object = new Foo; echo $object->bar(); //output: Biawp.ir
در کد بالا مشاهده می کنید که ما قصد داریم متد bar از کلاس foo را فراخوانی کنیم.
ابتدا یک شی از کلاس foo می سازیم و سپس با استفاده از آن شی و یک arrow متد را فراخوانی می کنیم.
استفاده از متد داخل کلاس
اگر نیاز داشته باشیم درون یک متد، از یک متد دیگر در همان کلاس استفاده کنیم، با استفاده از کیورد this$، آن را فراخوانی می کنیم:
class Foo { function bar() { return $this->baz(); } function baz() { return 'Biawp.ir'; } } $object = new Foo; echo $object->bar(); //output: Biawp.ir
در کد بالا، ما از متد baz در متد bar استفاده کردیم.