Šuplík Honzy Hučína

Skok na navigaci (menu)

Tento blog je v současné době uzavřen.
Pokračování blogu na bloguje.cz jsem zrušil. Pokud budu někdy pokračovat, bude to spíš tady.

Jednotlivý článek

Internet a vše kolem
14. 11. 2006

Co mi v PHP chybí

Vůbec ne takové fíčurinky jako filtry, registerNodeClass a podobné, jak o tom píšou machři. Potěšilo by mě mnohem víc, kdyby bylo možné při volání funkce zadat jen některé argumenty, i když jsou v původním pořadí úplně na konci. A zadat argumenty v libovolném pořadí.

Omlouvám se netechnikům za technický příspěvek, kdyžtak si zatím něco čtěte.

Ono samozřejmě jde poslat jen některé argumenty, pokud ty ostatní mají nastavenou defaultní hodnotu. Jenže ty poslané musejí jít zleva podle pořadí, jaké stanovil tvůrce funkce. Takže když mám kód

<?php
function zviratko ($velikost="velký", $barva="černý", $zvire="pes")
{ return "$velikost $barva $zvire";}
echo zviratko();
?>

dostanu podle očekávání „velký černý pes“. Kdybych chtěl dostat „velký černý medvěd“ nebo „velký strakatý tygr“, jak by bylo krásné napsat jenom

<?php
echo zviratko($zvire="medvěd");
echo zviratko($zvire="tygr", $barva="strakatý");
// všimněte si obráceného pořadí argumentů
?>

Jenže to nefunguje. Musí se samozřejmě napsat

<?php
echo zviratko("velký", "černý", "medvěd");
?>

Proč mi vadí, že to nejde zjednodušeně? Protože si při volání funkce musím pamatovat správné pořadí argumentů a zbytečně vypisovat i ty, co se jejich hodnota nemění. Což

  • otravuje
  • zdržuje
  • může vést k chybě

Kdo si má třeba pamatovat, že v mysql_query se píše nejdřív dotaz a pak nepovinně identifikátor spojení, kdežto v pg_query je to naopak a obojí je povinné? Mít možnost zapsat něco jako mysql_query($link=$connection, $query=$dotaz), to by byla pohoda...

Já vím, dá se to obejít, třeba si udělat funkci tak, aby se do ní posílalo – jako argument – pole a jednotlivé skutečné argumenty byly pojmenované položky pole. Všechno je to ale zbytečná komplikace.

A jazyk prostředí R to umí. Škoda, že PHP (dosud) ne.

Aktualizace: Umí to i Python. Tak vidíte, že to jde, když se chce.

Komentáře (počet: 29, poslední 23. 11. 2006, 07:42, nelze přidat komentář)
RSS komentářů tohoto článku
Trvalý odkaz

Poslední články:

Další články si můžete vyhledat v jednotlivých přihrádkách, případně podle data.

© Honza Hučín 2004–6

Šuplík běží na PIPNI.CZ. Díky!

sber.cermat.cz

RSS Šuplíku

RSS komentářů – souhrnně

U každého článku je samostatný RSS kanál pro komentáře.

Výběr článků

Posledních 10 článků

nebo podle data:

nebo hledání fulltextem:

Archiv všech článků

Poslední komentáře

Zabili mě, parchanti [2]

8. 8. 16:48 | Pepa

Cestou kolem blogu [2]

7. 8. 21:26 | Honza Hučín

Cestou kolem blogu [1]

7. 8. 21:02 | Honza

Vrtulník nad hlavou [3]

6. 8. 14:29 | Pepa

Taková hra na volby [1]

3. 8. 18:29 | Honza

Nejčtenější

Žádné údaje nejsou k dispozici.

O mně

*1967, absolvent MFF UK v Praze (1991)

statistik, analytik, programátor, učitel, hudebník

nyní Ústav pro informace ve vzdělávání

Životopis (RTF)

Napište mi