register_shutdown_function()関数は、PHPのプロセス終了直前にコールバックする関数を登録するものです。用途によっては便利な機能なのです。この関数についてふと疑問が。「register_shutdown_function()はいりこ状にできるのか」というものです。気になったのでやってみました。
<?php
error_reporting(-1);
ini_set('display_errors', 1);
register_shutdown_function('shutdown');
function shutdown()
{
var_dump(__FUNCTION__);
register_shutdown_function('shutdown_recursive');
}
function shutdown_recursive()
{
var_dump(__FUNCTION__);
register_shutdown_function('shutdown_recursive_recursive');
}
function shutdown_recursive_recursive()
{
var_dump(__FUNCTION__);
}
string(8) "shutdown" string(18) "shutdown_recursive" string(28) "shutdown_recursive_recursive"
エラーも出ずに、あっさりと出来てしまいました。まずこんな実装はないと思いますが、「register_shutdown_function()はいりこ状にできる」というのは覚えておくといいかもしれません。
トラバURL : http://suin.asia/trackback/504
氷川 XOOPS Module 開発室