الفرق بين المراجعتين لصفحة: «PHP/exit»
رؤيا-بنعطية (نقاش | مساهمات) لا ملخص تعديل |
رؤيا-بنعطية (نقاش | مساهمات) تعديلات طفيفة على التنسيق |
||
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 2: | سطر 2: | ||
(PHP 4, PHP 5, PHP 7) | (PHP 4, PHP 5, PHP 7) | ||
تُخرج البنية exit() رسالةً وتنهي البرنامج الحالي. | تُخرج البنية <code>exit()</code> رسالةً وتنهي البرنامج الحالي. | ||
== الوصف == | == الوصف == | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
void exit ([ string $status ] ) | void exit ([ string $status ] ) | ||
void exit ( int $status ) | void exit ( int $status ) | ||
</syntaxhighlight>توقف البنية exit() تنفيذ البرنامج. أما دوال إيقاف التشغيل والدالة الهادمة فستُنفَّذ دومًا حتى في حالة استدعاء البنية exit(). | </syntaxhighlight>توقف البنية <code>exit()</code> تنفيذ البرنامج. أما دوال إيقاف التشغيل والدالة الهادمة فستُنفَّذ دومًا حتى في حالة استدعاء البنية <code>exit()</code>. | ||
البنية exit() بنية من بنى اللغة (language construct)، ويمكن استدعاؤها بدون أقواس إذا لم يُمَرر إليها المعامل status. | البنية <code>exit()</code> بنية من بنى اللغة (language construct)، ويمكن استدعاؤها بدون أقواس إذا لم يُمَرر إليها المعامل <code>status</code>. | ||
== المعاملات == | == المعاملات == | ||
=== status === | === status === | ||
إذا كانت قيمة المعامل status سلسلةً نصيةً، فستطبع البنية اللغوية exit() المعامل status قبل إنهاء تنفيذ السكربت. | إذا كانت قيمة المعامل <code>status</code> سلسلةً نصيةً، فستطبع البنية اللغوية <code>exit()</code> المعامل <code>status</code> قبل إنهاء تنفيذ السكربت. | ||
إذا كان المعامل status عددًا صحيحًا، فستستخدم هذه القيمة كحالة خروج ولن تُطبع. يجب أن تكون حالات الخروج في المدى من 0 إلى 254، وحالة الخروج 255 محجوزة بواسطة PHP ولا يجوز استخدامها، وتستخدم الحالة 0 لإنهاء البرنامج بنجاح. | إذا كان المعامل <code>status</code> عددًا صحيحًا، فستستخدم هذه القيمة كحالة خروج ولن تُطبع. يجب أن تكون حالات الخروج في المدى من 0 إلى 254، وحالة الخروج 255 محجوزة بواسطة PHP ولا يجوز استخدامها، وتستخدم الحالة 0 لإنهاء البرنامج بنجاح. | ||
== القيم المعادة == | == القيم المعادة == | ||
لا تعيد البنية exit() قيمًا. | لا تعيد البنية <code>exit()</code> قيمًا. | ||
== أمثلة == | == أمثلة == | ||
المثال 1: مثال على البنية exit()<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: مثال على استخدام المعامل status<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> | ||
== ملاحظات == | == ملاحظات == | ||
ملاحظة: نظرًا لأن exit() بنية من بنى اللغة وليست دالةً، فلا يمكن استدعائها باستخدام [[PHP/variable functions|الدوال المتغيرة]]. | ملاحظة: نظرًا لأن <code>exit()</code> بنية من بنى اللغة وليست دالةً، فلا يمكن استدعائها باستخدام [[PHP/variable functions|الدوال المتغيرة]]. | ||
ملاحظة: تكافئ البنيةُ exit() البنيةَ die(). | ملاحظة: تكافئ البنيةُ <code>exit()</code> البنيةَ <code>[[PHP/die|die()]]</code>. | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* الدالة register_shutdown_function(): تسجيل دالة للتنفيذ عند إيقاف التشغيل. | * الدالة <code>[[PHP/register shutdown function|register_shutdown_function()]]</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()
: تسجيل دالة للتنفيذ عند إيقاف التشغيل.