البنية exit()
في 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().
انظر أيضًا
- الدالة register_shutdown_function(): تسجيل دالة للتنفيذ عند إيقاف التشغيل.