الفرق بين المراجعتين لصفحة: «PHP/exit»
رؤيا-بنعطية (نقاش | مساهمات) إضافات و تعديلات تنسيقية |
رؤيا-بنعطية (نقاش | مساهمات) تعديلات طفيفة على التنسيق |
||
سطر 7: | سطر 7: | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
void exit ([ string $status ] ) | void exit ([ string $status ] ) | ||
void exit ( int $status ) | void exit ( int $status ) | ||
سطر 27: | سطر 26: | ||
المثال 1: مثال على البنية <code>exit()</code><syntaxhighlight lang="php"> | المثال 1: مثال على البنية <code>exit()</code><syntaxhighlight lang="php"> | ||
<?php | <?php | ||
$filename = '/path/to/data-file'; | $filename = '/path/to/data-file'; | ||
$file = fopen($filename, 'r') | $file = fopen($filename, 'r') | ||
or exit("unable to open file ($filename)"); | |||
?> | ?> | ||
</syntaxhighlight>المثال 2: مثال على استخدام المعامل <code>status</code><syntaxhighlight lang="php"> | </syntaxhighlight>المثال 2: مثال على استخدام المعامل <code>status</code><syntaxhighlight lang="php"> | ||
<?php | <?php | ||
// تغلق البرنامج بشكل طبيعي | // تغلق البرنامج بشكل طبيعي | ||
exit; | exit; | ||
exit(); | exit(); | ||
exit(0); | exit(0); | ||
// تغلق البرنامج مع حالة خروج تشير إلى خطأ | // تغلق البرنامج مع حالة خروج تشير إلى خطأ | ||
exit(1); | exit(1); | ||
exit(0376); // في النظام الثماني | exit(0376); // في النظام الثماني | ||
?> | ?> | ||
</syntaxhighlight>المثال 3: مثال على تشغيل دوال إيقاف التشغيل والدالة الهادمة دون عائق<syntaxhighlight lang="php"> | </syntaxhighlight>المثال 3: مثال على تشغيل دوال إيقاف التشغيل والدالة الهادمة دون عائق<syntaxhighlight lang="php"> | ||
<?php | <?php | ||
class Foo | class Foo | ||
{ | { | ||
public function __destruct() | |||
{ | |||
echo 'Destruct: ' . __METHOD__ . '()' . PHP_EOL; | |||
} | |||
} | } | ||
function shutdown() | function shutdown() | ||
{ | { | ||
echo 'Shutdown: ' . __FUNCTION__ . '()' . PHP_EOL; | |||
} | } | ||
$foo = new Foo(); | $foo = new Foo(); | ||
register_shutdown_function('shutdown'); | register_shutdown_function('shutdown'); | ||
exit(); | exit(); | ||
echo 'This will not be output.'; | echo 'This will not be output.'; | ||
?> | ?> | ||
</syntaxhighlight>ناتج المثال السابق:<syntaxhighlight lang=" | </syntaxhighlight>ناتج المثال السابق:<syntaxhighlight lang="text"> | ||
Shutdown: shutdown() | Shutdown: shutdown() | ||
Destruct: Foo::__destruct() | Destruct: Foo::__destruct() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
سطر 96: | سطر 66: | ||
ملاحظة: نظرًا لأن <code>exit()</code> بنية من بنى اللغة وليست دالةً، فلا يمكن استدعائها باستخدام [[PHP/variable functions|الدوال المتغيرة]]. | ملاحظة: نظرًا لأن <code>exit()</code> بنية من بنى اللغة وليست دالةً، فلا يمكن استدعائها باستخدام [[PHP/variable functions|الدوال المتغيرة]]. | ||
ملاحظة: تكافئ البنيةُ <code>exit()</code> البنيةَ <code>die()</code>. | ملاحظة: تكافئ البنيةُ <code>exit()</code> البنيةَ <code>[[PHP/die|die()]]</code>. | ||
== انظر أيضًا == | == انظر أيضًا == |
المراجعة الحالية بتاريخ 12:53، 29 مايو 2018
(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()
: تسجيل دالة للتنفيذ عند إيقاف التشغيل.