protected function performActions()
{
$action = $this->getAction();
$this->{$action}();
}
سلام استاد وقتتون بخیر ، جسارتا ممکن هست در مورد عماکرد این تابع کمی بنده رو راهنمایی بفرمایید؟
protected function performActions()
{
$action = $this->getAction();
$this->{$action}();
}
علیرضا شاهسواری۰۸ شهریور ۱۳۹۸، ۰۸:۲۳
سلام. دقیقا با کدوم بخش مشکل دارین؟ لطفا برای قرار دادن کد حتما از آیکن کدهای editor استفاده کنید.
کیوان علی محمدی۰۸ شهریور ۱۳۹۸، ۱۲:۱۰
سلام
با اجازه از آقای علیمحمدی
فکر کنم مشکل شما با اون {} باشه فرض کنید یه 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 رو داریم
دقیق مثل استرینگها میمونه که برای اینکه متغیرها معلوم بشن و جدا بشن از {} استفاده میکنیم البته اونجا اجباری نیست و برای اینه که خودمون بفهمیم این یک متغیره اما توی این مورد اجباریه تا پی اچ پی تشخیص بده اونو