عملکرد متد performActions

پرسیده شده
فعالیت 1723 روز پیش
دیده شده 575 بار
0
protected function performActions()
{
   $action = $this->getAction();
   $this->{$action}();
}

سلام استاد وقتتون بخیر ، جسارتا ممکن هست در مورد عماکرد این تابع کمی بنده رو راهنمایی بفرمایید؟

فایل پیوست

علیرضا شاهسواری
علیرضا شاهسواری

8 شهریور 98

0
حذف شده

سلام

با اجازه از آقای علیمحمدی

فکر کنم مشکل شما با اون {} باشه
فرض کنید یه action داریم به اسم pay_for_wallet حالا این متد performActions کارش اینه که بیاد یک متدی رو صدا بزنه که اسمش همون pay_for_wallet باشه حالا ما بخوایم این کارو دستی انجام بدیم چیکار میکنیم ؟ میایم مینویسیم :

$this->pay_for_wallet();

اینجا this اشاره میکنه به اون آبجکت جاری که توی هر کدوم از اون handler ها فرق میکنه که تو این گزینه ما مثلا توی wallet این pay_for_wallet رو داریم

حالا ما توی performActions اون متد اسمش رو داریم که pay_for_wallet هست و اگر بخوایم اونو صدا بزنیم باید بگیم :

$this->$action();

اما اینجا پی اچ پی برای اینکه مقدار اون action رو بعد از this و علامت -> قرار بده باید اونو داخل {} بزاریم تا متوجه بشه که اول باید مقدار action رو پیدا کنه و بعد اونجا مقدارشو قرار بده که توی این مثال ما pay_for_wallet رو داریم

دقیق مثل استرینگ ها میمونه که برای اینکه متغیر ها معلوم بشن و جدا بشن از {} استفاده میکنیم البته اونجا اجباری نیست و برای اینه که خودمون بفهمیم این یک متغیره اما توی این مورد اجباریه تا پی اچ پی تشخیص بده اونو

سعی کردم خوب توضیح بدم

مشکلی داشتی دوباره بپرس

موفق باشی

فایل پیوست

Deleted

توسط

Deleted

8 شهریور 98

حذف شده
بسیار عالی ، خیلی ممنون آقای مرادلو عزیز
علیرضا شاهسواری

10 شهریور 98

0
حذف شده
protected function performActions()
{
   $action = $this->getAction();
   $this->{$action}();
}

 

فایل پیوست

علیرضا شاهسواری

توسط

علیرضا شاهسواری

8 شهریور 98

0
حذف شده

سلام. دقیقا با کدوم بخش مشکل دارین؟ لطفا برای قرار دادن کد حتما از آیکن کدهای editor استفاده کنید.

فایل پیوست

کیوان علی محمدی

توسط

کیوان علی محمدی

8 شهریور 98

حذف شده
از ادیتور استفاده کردم استاد , ظاهرا مشکلی وجود داره حقیقتا متوجه نمیشم این بخش (){this->{$action$ دقیقا چیکار میکنه . ممنون میشم اگر توضیح کوتاهی بدین
علیرضا شاهسواری

8 شهریور 98