سؤال

ولدي هذا الرمز

 $return = $ep->$method($params);
 if ($return === null) {
  throw new Exception('Endpoint has no return value');
 }
 return $return;

هل هناك أي طريقة للتمييز بين الأسلوب الذي يعود null والأسلوب الذي لا يعود أي شيء؟

هل كانت مفيدة؟

المحلول

وليس من الممكن. عندما يتم تعيين أي قيمة الإرجاع ترجع الدالة تلقائيا فارغة.

نصائح أخرى

إذا لم الدالة بإرجاع أي شيء، ثم يجب أن لا اختباره من قيمة الإرجاع. يجب أن نعرف الذي يعمل من المتوقع أن يعود شيء أو لا شيء على الإطلاق - حتى لو كنت لا أحد الذين كتب لهم

هل يمكن أن تجعل وظيفة تعود قيمة أخرى؟ منطقية صحيح ربما، وتحقق لهذا أو لاغية.

ومع ميزة تعريف نوع عودة PHP7 ل:

function a(): void {
    return null; // :(
}

function b(): void {
    // :)
}

function c(): void {
    return; // :)
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top