PHP 5.3 doğal kapakları destekleyecektir. Eğer bazı küçük, belirli bir amaç için sadece kullanılan yerel bir işlev istediğinizde bir kapatma iyidir. RFC for closures iyi bir örnek vermek:
function replace_spaces ($text) {
$replacement = function ($matches) {
return str_replace ($matches[1], ' ', ' ').' ';
};
return preg_replace_callback ('/( +) /', $replacement, $text);
}
This lets you define the replacement
function locally inside replace_spaces()
, so that it's not:
1) Cluttering up the global namespace
2) Making people three years down the line wonder why there's a function defined globally that's only used inside one other function
Bu organize şeyler tutar. Kendisi işlevi adı yok nasıl fark, sadece tanımlanmış ve $replacement
için bir referans olarak atanır.
Ama PHP 5.3 için beklemek zorunda, unutmayın :)