Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Referencja i opcjonalne argumenty funkcji
Forum PHP.pl > Forum > PHP
yoyo
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?
DeyV
Niestety - nie jest to możliwe w php 4.
Natomiast Php5 juz na to pozwala.
W tej chwili pozostaje tylko zrezygnowanie z korzystania z referencji.
yoyo
Cytat
Niestety - nie jest to możliwe w php 4.
Natomiast Php5 juz na to pozwala.
W tej chwili pozostaje tylko zrezygnowanie z korzystania z referencji.

aha, to znaczy php5 poznawala na referencje od użytkownika, czy na opcjonalne referencje?
DeyV
na opcjonalne referencje
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.