Есть ли проблемы с использованием ключевого слова static в простой PHP-функции?

Например:

<?php function get_current_user_id(){ static $id; if(!$id){ $id = 5; echo "Id set."; } return $id; } $id = get_current_user_id(); $id2 = get_current_user_id(); $id3 = get_current_user_id(); echo "IDs: ".$id." ".$id2." ".$id3; ?> 

// Выход: Id set.IDs: 5 5 5

http://codepad.org/jg2FR5ky

Таким образом, предположительно повторяющиеся вызовы для получения идентификатора пользователя просто выполняют простой возврат идентификатора, все еще находящегося в памяти. Я не знаю, является ли это идиоматическим использованием функций php. Это похоже на синглтон, за исключением OO, и я никогда не слышал и не видел других людей, использующих его, поэтому мне интересно, есть ли недостатки в использовании статики таким образом, или если есть ошибки, которые я должен знать для более сложных случаев использования статики в функциях.

Итак, с какими проблемами я могу столкнуться с этим типом использования статики?

Solutions Collecting From Web of "Есть ли проблемы с использованием ключевого слова static в простой PHP-функции?"