Od php 4.3 przesyłanie zmiennej do funkcji przez referęcje przez użytkownika jest zaznaczone jako "deprecated" i zwraca warning. Teraz referencję argumentów funkcji powinno się zaznaczać tylko w definicji funkcji, ale jak wiadomo taki argument nie może mieć wtedy domyślnej wartości, czyli nie może być opcjonalny.
I moje pytanie brzmi - jak zrobić opcjonalny argument przesyłany przez referencję?
Weźmy dla przykładu fsockopen, która właśnie tak działa:
fsockopen ( 'host', 80, $errno, $errstr );
Tutaj wymagane są tylko dwa pierwsze argumenty, a dwa następne, przesyłane przez referencję są opcjonalne.. jak to zrobić we własnej funkcji?
function moja_funkcja( $wymagany, &$opcjonalny="" ); wywala błąd.
Zawsze robiłem obsługę błędów poprzez referencję $errno i $errstr na rządanie użytkownika. Jak to zrobić teraz?