Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Referencja i opcjonalne argumenty funkcji
yoyo
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 20.12.2003
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




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.
Go to the top of the page
+Quote Post
yoyo
post
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 20.12.2003
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
DeyV
post
Post #4





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




na opcjonalne referencje
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 00:07