Emad Saif نشر 2 يونيو 2022 أرسل تقرير نشر 2 يونيو 2022 أجد في بعض المكتبات أنه يمكن إستدعاء أكثر من تابع بشكل متتالي، بحيث يتنهي التابع الأول من التنفيذ ويبدأ التابع الثاني بشكل مباشر بدون الحاجة إلى الإضافة إلى الكائن Object في كل مرة : $obj = new ObjectWithMethods(); $obj->doSomething()->doSomethingElse(); كيف يمكن إضافة مثل هذه الميزة إلى صنف Class في PHP؟ 1 اقتباس
1 سامح أشرف نشر 2 يونيو 2022 أرسل تقرير نشر 2 يونيو 2022 يمكن عمل هذا الأمر بشكل بسيط للغاية في PHP، فكل ما عليك فعله هو إرجاع نفس الكائن في نهاية كل تابع: على سبيل المثال إن كان لدينا الصنف التالي: <?php class MyClass { public function doSomething() { // ... } public function doSomethingElse() { // ... } } يجب فقط إرجاع نفس الكائن في نهاية كل تابع عبر الكلمة this$: <?php class MyClass { public function doSomething() { // ... return $this; } public function doSomethingElse() { // ... return $this; } } بهذا الشكل يمكن إستخدام التوابع كما يلي: $obj = new MyClass(); $obj->doSomething()->doSomethingElse(); لاحظ أن هذه الطريقة لا يمكن عملها إن كان يجب إرجاع شيء مُحدد من أحد التوابع. 1 اقتباس
السؤال
Emad Saif
أجد في بعض المكتبات أنه يمكن إستدعاء أكثر من تابع بشكل متتالي، بحيث يتنهي التابع الأول من التنفيذ ويبدأ التابع الثاني بشكل مباشر بدون الحاجة إلى الإضافة إلى الكائن Object في كل مرة :
كيف يمكن إضافة مثل هذه الميزة إلى صنف Class في PHP؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.