السلام عليكم ورحمة الله وبركاته
الساده اعضاء سوالف من
سنتحدث بموضوعنا عن معامل GOTO احدى اضافات php 5.3
بناء goto فى لغة php
جاء بناء goto فى لغة الphp عن طريق المطور Andrey Hristov الذى تبعة باهتمام مبدع لغة ال php المبرمج Rasmus Lerdorf مبدع لغة php
والذى كان على الرابط التالى : '[PHP-DEV] GOTO operator' thread - MARC
بدأت الفكره بمحاوله لصنع طريقة لتقليص تداخلات العبارات الشرطيه والتكرار :
كود PHP:
do {
code
if ( error condition )
break;
code
if ( error condition )
break;
code
} while ( 0 );
cleanup code
وتداخلات if/elseif/else
لمتابعه سير عملية التطوير على الرابط التالى :
'[PHP-DEV] GOTO operator' thread - MARC
ما هو معامل goto
معامل goto ظهر بداية من اصدار php 5.3 بمعنى ان ما قبل ذلك فلا يمكن استخدامه
يتيح لك معامل goto ان تقوم بتجاوز الكتل البرمجية
فمثلا كمثال بسيط اكثر للتوضيح :
كود PHP:
اذا كان المصعد لا يعمل
اذهب الى : السلم
واذا لم يكن
اذهب الى : المصعد
السلم : سنصعد السلم خطوه خطوه
المصعد : سنضغط على الزر وننتظر الوصول
مثل هذا الحال فى لغة php
كود PHP:
<?php
goto a;
echo 'Hello';
a:
echo 'Goodbye';
?>
هنا سيتم طبع عبارة Goodbye
أمثله على استخدام goto
مثال من php.net :
كود PHP:
<?php
for($i=0,$j=50; $i<100; $i++) {
while($j--) {
if($j==17) goto end;
}
}
echo "i = $i";
end:
echo 'j hit 17';
?>
اذا تتبعنا الكود البرمجى هنا سنجده يصنع حلقة تكرارية
ويضع شرط برمجى اذا كان المتغير J مساوى لل 17 سيقوم بتجاوز كلفة الكتل البرمجية
ويذهب الى بداية الكتلة البرمجيه التى تبدأ بالاشارة end ويبدأ التنفيذ من تلك النقطه
مثال اخر :
كود PHP:
for ($i = 0; $i < 9; $i++)
{
if (true) {
break blah;
}
echo "not shown";
blah:
echo "iteration $i\n";
}
اذا تتبعنا الكود البرمجى هنا سنجد حلقة تكرارية تبدأ من الصفر حتى 9
وشرط برمجى عند حدوثة سيقوم بالانتقال الى الكتله البرمجيه التى تبدأ بالكلمة blah
مصادر goto
PHP: goto - Manual
http://www.php.net/~derick/meeting-notes.html#adding-goto
'[PHP-DEV] GOTO operator' thread - MARC
الى هنا نكون قد انتهيت من شرح معامل goto
وأتمنى أن أكون قد وفقت فى الشرح وأن اكون قد اضفت الى معلوماتكم ولو شئ بسيط
وأرجو حفظ حقوقى عند نقل الموضوع لمكان آخر
أدام الله أيامكم بالسعادة
مع تحياتى
Mr.Ajax:shy: