البنية exit()‎ في PHP

من موسوعة حسوب
< PHP

(PHP 4, PHP 5, PHP 7)

تُخرج البنية exit()‎ رسالةً وتنهي البرنامج الحالي.

الوصف

void exit ([ string $status ] )
void exit ( int $status )

توقف البنية exit()‎ تنفيذ البرنامج. أما دوال إيقاف التشغيل والدالة الهادمة فستُنفَّذ دومًا حتى في حالة استدعاء البنية exit()‎.

البنية exit()‎ بنية من بنى اللغة (language construct)، ويمكن استدعاؤها بدون أقواس إذا لم يُمَرر إليها المعامل status.

المعاملات

status

إذا كانت قيمة المعامل status سلسلةً نصيةً، فستطبع البنية اللغوية exit()‎ المعامل status قبل إنهاء تنفيذ السكربت.

إذا كان المعامل status عددًا صحيحًا، فستستخدم هذه القيمة كحالة خروج ولن تُطبع. يجب أن تكون حالات الخروج في المدى من 0 إلى 254، وحالة الخروج 255 محجوزة بواسطة PHP ولا يجوز استخدامها، وتستخدم الحالة 0 لإنهاء البرنامج بنجاح.

القيم المعادة

لا تعيد البنية exit()‎ قيمًا.

أمثلة

المثال 1: مثال على البنية exit()

<?php
$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
  or exit("unable to open file ($filename)");
?>

المثال 2: مثال على استخدام المعامل status

<?php
// تغلق البرنامج بشكل طبيعي
exit;
exit();
exit(0);
// تغلق البرنامج مع حالة خروج تشير إلى خطأ
exit(1);
exit(0376); // في النظام الثماني
?>

المثال 3: مثال على تشغيل دوال إيقاف التشغيل والدالة الهادمة دون عائق

<?php
class Foo
{
  public function __destruct()
  {
    echo 'Destruct: ' . __METHOD__ . '()' . PHP_EOL;
  }
}
function shutdown()
{
 echo 'Shutdown: ' . __FUNCTION__ . '()' . PHP_EOL;
}
$foo = new Foo();
register_shutdown_function('shutdown');
exit();
echo 'This will not be output.';
?>

ناتج المثال السابق:

Shutdown: shutdown()
Destruct: Foo::__destruct()

ملاحظات

ملاحظة: نظرًا لأن exit()‎ بنية من بنى اللغة وليست دالةً، فلا يمكن استدعائها باستخدام الدوال المتغيرة.

ملاحظة: تكافئ البنيةُ exit()‎ البنيةَ die()‎.

انظر أيضًا

مصادر