phpbar.de logo

Mailinglisten-Archive

[php] if Abfrage auf eine Funktion die ein Array zurückgibt

[php] if Abfrage auf eine Funktion die ein Array zurückgibt

Thomas Koudela thomas at koudela.net
Die Sep 19 18:21:17 CEST 2006


Hallo Norbert,

> irgendwie kann ich Deiner Argumentation nicht ganz folgen.
> Als Beispiel habe ich getImageSize(); gewaehlt.

bei 'ner vorgegebenen Funktion macht meine Argumentation auch keinen 
Sinn, da ich auf ein Posting geantwortet habe, in dem es explizit um 
eine _eigene_ Funktion ging.

Es ist beim Design einer Funktion durchaus wichtig, was in der 
Peripherie geschieht, d.h. _welche_ Werte _wie_ übergeben werden. Ich 
hatte beispielsweise heute eine rekursive Funktion, die zu lahm für die 
Anwendung war. Mit ein wenig Umschreibearbeit konnte ich mit dem 
gleichen Datensatz per Referenz arbeiten, statt ihn als normale 
Funktionsvariable zu übergeben. 
(http://www.php.net/manual/de/language.references.whatdo.php) Als 
Resultat war die Funktion um einen Faktor 10(!) schneller und das obwohl 
der Datensatz gerademal ein paar dutzend Zahlen umfasste. Sicher fällt 
dies bei drei Variablen in einer Funktion, die möglicherweise nur einmal 
aufgerufen wird, nicht so ins Gewicht - wer sich jedoch angewöhnt darauf 
zu achten, der hat es im entscheidenden Moment einfacher.

Deshalb, aus meiner eigenen Programmierpraxis heraus, hatte ich 
vorgeschlagen, mit einem optionalen Funktionswert, der Funktion zu 
sagen, wann nur die für die If-Anweisung notwendige Information 
übermittelt werden soll.

> Wenn man alle JPG's eines Ordners sucht, waere es durchaus
> praktisch:
> <?php
> if (getImageSize($file)[2] == 2) {
> }
> ?>
> statt:
> <?php
> $IMG = getImageSize($file);
> if ($IMG[2] == 2) {
> }
> ?>
> zu schreiben.

Dass die Entwickler sich hier nicht gerade sehr viel Zeit für die 
Funktion genommen haben, sieht man schon am Namen. Wer erwartet bei 
getImageSize schon einen Image-Type? Curios!

> Aber es sieht einfach doof aus, trotz allem ... ;-)

Ich wette es sieht nur doof aus, für Leute die etwas 
Programmiererfahrung haben ... ob das Unterbewusstsein uns hier hilft? ;-)

Gruß, Thomas

php::bar PHP Wiki   -   Listenarchive