const DEVELOPER_INFO = [
" autor " => " Matheus Johann Araújo " ,
" country " => " Brasil " ,
" state " => " Pernambuco " ,
" date " => " 2022-03-12 "
]; مصطلح callback يعني الوظيفة السابقة كمعلمة للدالة ، والتي سيتم استدعاؤها بواسطة دالة. في PHP فإن callbacks هي نوع callable مما يعني الغطس ؛
الفصل المسمى Closure مسؤول عن تمثيل وظائف مجهولة arrow functions (وظائف السهم) ؛
عادة ما يكون callback وظائف لم يتم اسمها (وظائف مجهولة أو سهم) التي يتم تمريرها بواسطة المعلمة ، ولكن لا شيء يمنع وظيفة تسمية من تمريرها كمعلمة!
setInterval(callback, milliseconds) يؤدي وظيفة رد الاتصال في الوقت المستنير بلا حدود. تقوم الوظيفة بإرجاع UID الذي يمكن استخدامه في وظيفة clearInterval لإزالة setInterval من خط التنفيذ ؛
يقوم setTimeout(callback, milliseconds) بإجراء استدعاء وظيفة رد الاتصال في الوقت المستنير بطريقة فريدة من نوعها. تقوم الوظيفة بإرجاع UID الذي يمكن استخدامه في وظيفة clearTimeout لإزالة setTimeout من خط التنفيذ ؛
يكمل clearInterval(UID) التنفيذ المستقبلي لـ setInterval الذي يحتوي على UID المطلع. تُرجع الوظيفة true (الانتهاء) أو false (لم تنته أو لم تجد المهمة المجدولة) ؛
يقوم clearTimeout(UID) بإنهاء التنفيذ المستقبلي لـ setTimeout الذي يحتوي على UID المطلع. تُرجع الوظيفة true (الانتهاء) أو false (لم تنته أو لم تجد المهمة المجدولة).
<?php
// EN-US: Include at the beginning of the first file to be interpreted, on the WEB server use TICK sparingly
// PT-BR: Incluir no início do primeiro arquivo a ser interpretado, no servidor WEB use o TICK com moderação
declare (ticks= 1 );
require_once " lib/code.php " ;
echo " Start " , PHP_EOL ;
$ counter = 1 ;
$ uid = setInterval ( function () use (& $ counter ) {
echo " Counter: " , $ counter ++, PHP_EOL ;
}, 100 );
setTimeout ( function () {
echo " Half of the increments " , PHP_EOL ;
}, 1000 );
setTimeout ( function () use ( $ uid ) {
echo " Stopping the counter " , PHP_EOL ;
clearInterval ( $ uid );
}, 2000 );
echo " Processing... " , PHP_EOL ;
// EN-US: Include after timed calls
// PT-BR: Incluir após chamadas programadas (agendadas)
$ count = workWait ( function () { usleep ( 1 ); });
echo " workRun has been run $ {count} times " , PHP_EOL ;
echo " End " , PHP_EOL ; then(callback) الطريقة التي تسمى عندما يتم حل الوعد . سيتم تنفيذ callback وسيتلقى كمعلمة القيمة التي تم تمريرها على الوظيفة resolve ؛
catch(callback) التي تسمى عندما يتم رفض الوعد . سيتم تنفيذ callback وسيحصل كمعلمة على القيمة التي تم تمريرها على وظيفة reject ؛
finally(callback) بعد الوعد ، والتي تطلق تنفيذ callback على علم كمعلمة.
<?php
// EN-US: Include at the beginning of the first file to be interpreted, on the WEB server use TICK sparingly
// PT-BR: Incluir no início do primeiro arquivo a ser interpretado, no servidor WEB use o TICK com moderação
declare (ticks= 1 );
require_once " lib/code.php " ;
echo " Start " , PHP_EOL ;
$ promise = new Promise ( function ( $ resolve , $ reject ) {
$ call = rand ( 0 , 1 ) ? $ resolve : $ reject ;
setTimeout ( function () use ( $ call ) {
$ call ( " message " );
}, 1000 );
});
function info_promise () {
global $ promise ;
echo " > monitor: " , $ promise -> getMonitor (), PHP_EOL ;
echo " > state: " , $ promise -> getState (), PHP_EOL ;
}
info_promise ();
$ promise -> then ( function ( $ result ) {
echo " then ( $ {result} ) " , PHP_EOL ;
info_promise ();
})-> catch ( function ( $ error ) {
echo " catch ( $ {error} ) " , PHP_EOL ;
info_promise ();
})-> finally ( function () {
echo " finally " , PHP_EOL ;
info_promise ();
});
echo " Processing... " , PHP_EOL ;
for ( $ counter = 0 ; $ counter < 10 ; $ counter ++) {
echo " Counter: $ {counter}" , PHP_EOL ;
usleep ( 200000 );
}
// EN-US: Include after timed calls
// PT-BR: Incluir após chamadas programadas (agendadas)
$ count = workWait ( function () { usleep ( 1 ); });
echo " workRun has been run $ {count} times " , PHP_EOL ;
echo " End " , PHP_EOL ;