آموزش شی گرایی در PHP – متدهای زنجیره ای

آموزش شی گرایی در PHP

در بخش قبلی از سری آموزش شی گرایی در PHP، نحوه استفاده از کلمه کلیدی $this برای بهره بردن از متدها و پراپرتی ها داخل اسکوپ کلاس رو یاد گرفتیم.

در این بخش، ما یاد میگیریم که چطور از خروجی که $this ایجاد میکنه، می توانیم یک زنجیره ای از کدها بسازیم.

 

برای مثال، در کلاس Car , ما مقدار سوخت داخل مخزن را اندازه گیری می کنیم.

و مقدار سوخت مخزن، میزان کیلومتری که میتوانیم با آن ماشین برانیم را مشخص می کند.

 

برای رسیدن به این نتیجه، یک پراپرتی پابلیک $tank در کلاس خودمان قرار میدیم که مقدار سوخت داخل خودرو را نشان می دهد.

 

همچنین باید دو متد دیگر به کلاس خود اضافه کنیم:

  1. متد fill() که سوخت را به مخزن اضافه میکند.
  2. متد ride() محاسبه می کند که چه مقدار سوخت در هر مسافت طی می شود و آن را از مقدار موجود در مخزن کم می کند.

در مثال ما، خودرو می تواند به ازای هر ۵۰ مایل یک گالون (۳/۷۸۵۳ لیتر) مصرف کند.

 

همانطور که میخوایم کد ما مدرن به نظر بیاد، زنجیره ای از متدها و خواص ایجاد می کنیم :

 

در مثال بالا ما محاسبه کردیم که بعد از اینکه مخزن را ۱۰ گالون پر کردیم و ۴۰مایل رانندگی کردیم، چه مقدار سوخت داخل مخزن باقی می ماند.

 

برای اینکه بتوانیم از تکنیک زنجیر استفاده کنیم، باید متدهای ما مقدار آبجکت (object) را برگشت بدهد، از آنجایی که ما داخل کلاس هستیم، متدها باید مقدار کلمه کلیدی $this را برگشت بدند.

 

در کد پایین، می توانیم ببینیم که هر متد مقدار $this را برگشت می دهد که به ما اجازه زنجیر کردن را می دهد.

 

 

حالا، می توانیم یک شی از کلاس کار به نام $bmw بسازیم و مقدار سوخت باقی مانده داخل مخزن ماشین را بعد از پر کردن ۱۰گالون و رانندگی به مسافت ۴۰ مایل، بدست بیاریم.

 

خروجی

The number of gallons left in the tank: 9.2 gal.

 

جمع بندی

در این بخش از آموزش شی گرایی در php، یاد گرفتید که برای نوشتن کد روان و بهبود خوانایی آن، متدها و پراپرتی ها را زنجیر کنید.

در بخش بعدی یاد میگیرید که چطور متدها و خواص یک متد را با کلمه کلیدی public و private محدود کنید

امیدوارم از این آموزش نهایت استفاده را برده باشید.

هر سوال یا مشکلی داشتید در بخش نظرات همین پست ارسال کنید، سریعا بررسی و راهنمایی می شود.

موفق و پیروز باشید.

حسن شفیعی علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندورید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۲)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. رضا ۸ اردیبهشت ۱۴۰۱

    سلام یک سوال داشتم من یه سایت درست کردم یک ناحیه کاربری ساده هست که افراد میتونن در اونجا ثبت نام کنند و وارد محیط کاربری خودشون بشن برای این کار من یک تیبل به اسم user درست کردم خب داخل این جدول اطلاعات کاربر ثبت میشه مثل اسم و نام خانوادگی و …. یکی از مواردی که داخل این جدول ثبت تعداد روزی هست که میتونن از سایت استفاده کنه که من بطور پیشفرض این و روی ۳۰ روز گذاشتم حالا من می‌خوام بدونم چطور میتونم هر روز ۱ روز از این ۳۰ روز کم کنم که بشه ۰ اگه میشه کدشو بهم بدید راهنمایی کنید

    پاسخ
    1. حسن شفیعی ۸ اردیبهشت ۱۴۰۱

      سلام. به جای اینکه تعداد روز رو قرار بدید یه تاریخی از ۳۰ روز آینده رو به صورت timestamp ذخیره کنید تا چک بشه که اگه به این روز رسید دسترسی رو قطع کنه یا هرچیزی شبیه این
      این چک کردن هر روزه هم باید با کرون جاب انجام بشه
      دو آموزش زیر رو ببینید :
      https://netparadis.com/date-time-php
      https://netparadis.com/managing-cron-jobs-with-php

      پاسخ
دوره های آموزشی