• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Verwendungsmöglichkeiten von Funktionen

NE4Y

Mitglied
Hey :)

ich habe da (mal wieder ) ein kleines Verständnis Problem.

Wie Funktionen funktionieren ist mir klar. Allerdings fällt mir nichts ein was sich lohnen würde in eine Funktion zu packen. Wenn ich dannach Googel finde ich nur Beispiele wie
PHP:
function derName($para1, $para2) {
echo $para1;
echo $para2;
}

derName(2,5);

Nur sehe ich da nicht den Sinn. Ich kann genauso gut einfach
PHP:
echo 1;
echo 2;
machn

Ich würde mich freuen, wenn ihr mir ein paar konkrete logische Anwendungsbeispiele für Funktionen sagen könntet :)

MFG

EDIT: Bietet sich sowas an ?

PHP:
function SelectQueryTerm($select, $from, $where, $term) {
	global $selectTerms;
	$selectTerms = mysql_query("SELECT $select FROM $from WHERE $where='$term'");
	

}
&
PHP:
SelectQueryTerm("*", "account", "username", $username);

damit man den Query nicht immer neu schreiben muss ?
 
Zuletzt bearbeitet:
Werbung:
Um einfach mal ein paar Beispiele zu nennen wofür ich Funktionen nutze:
-Umwandeln des Unix-Timestamps in ein leserliches Datum
-Umwandeln eines Logeintrags in eine leserliche Aussage
-In einem Sprachprojekt zur Regelung der Groß- und Kleinschreibung je nach Wortart
-Zur Überprüfung der Zugangsberechtigung zu Seiten (bei einem switch/include- System)
-Vieles weitere

Wie du schon erkannt hast braucht man die Funktionen nicht, man kommt auch ohne aus. Mit ist es nur bei massenhaften Vorkommen einfacher, übersichtlicher und einheitlicher. Ohne Gewähr, private Erfahrungen, um Ärger von den Experten vorzubeugen. :D
 
Wenn du 300 Zeilen Code hast, die immer wieder vorkommen abgesehen von 2 oder 3 Parametern die sich ändern... würdest du diese 300 Zeilen immer neu schreiben/kopieren und anpassen oder würdest du sie auslagern und einfach jedes mal meineTolleFunktion($para, $meter); aufrufen?
 
Werbung:
Abstrahierung (dadurch eine viel höhere Flexibilität) und die Kapselung von Daten <- das wird bei der Nutzung von Funktionen neben der Wiederverwertbarkeit auch noch möglich, noch besser gelingt einem das dann in der OOProgrammierung.


Beispiel:

PHP:
echo file_get_contents('index.phtml');


PHP:
function getContentOfFile($file)
{
    if (is_file($file)) {
        $content = file_get_contents($file);
        return $content;
    }
    return null;
}
echo getContentOfFile('index.phtml');

Musst Du in einen deiner Projekte z.B. häufig (oder mehr als einmal) den Inhalt einer Datei auslesen, empfiehlt sich diese Funktion. Du übergibst der Funktion einen Dateipfad - die Funktion liefert dir aufjedenfall den Inhalt - wie sie das erledigt, kann dir dabei egal sein - die Funktion kann file_get_contents verwenden, curl, fread, etc. - du löst somit Abhängigkeiten bzw. du dezimierst sie auf ein Minimum.

Ein wohl besseres Beispiel wäre die pzlib class. Ich binde diese Klasse in ein Script ein, übergebe in einer Funktion den Pfad zu einer auf meiner Webspace liegenden ZIP-Datei und rufe anschleießend nur noch die extract() Funktion auf - 2 Zeilen Code und die Zip wird entpackt. Wie die Klasse das in ihren 5.000 Zeilen PHP Code erledig muss mich nicht kümmern, ich weiß nur, dass Sie mir damit sauviel Arbeit abnimmt :)
 
Ich nutze Funktionen auch manchmal, wenn sie eigentlich völlig unnötig sind, da weder Kapselung noch Wiederverwendbarkeit eine Rolle spielen. Aber bei komplexeren Abläufen kann das Hauptprogramm schon mal ein paar hundert Zeilen werden und dann packe ich sinnvolle Schritte in Funktionen eines passenden Namens zusammen und das Hauptprogramm wird schön übersichtlich. Wenn ich etwas ändern will, dann muss ich nicht in den Hunderten von Zeilen suchen, sondern nur in den paar Zeilen der entsprechenden Funktion. Das Hauptprogramm liest sich dann etwa so:
Code:
     Initialisieren();
     $MeineDaten = DatenEinlesen();
      foreach ($MeineDaten as $EineZeile) {
        Verarbeite($EineZeile);
    }
    CleanUp();
 
Zurück
Oben