phpbar.de logo

Mailinglisten-Archive

[php] Verständnissfrage: funktionen VS klassen?

[php] Verständnissfrage: funktionen VS klassen?

Sven Eicher phpbar at koalashome.de
Son Dez 19 11:33:04 CET 2004


Hallo

> Jetzt frage ich mich ob ich das beibehalten kann / soll, oder ob ich mich
> mit klassen bzw. OOP befassen sollte, um mehr raus zu holen.
> Bringt letzteres wirklich vorteile gegenüber meinem wald an funktionen, du
> wenn ja welche? Oder ist das relativ egal?
>
> Weil irgentwie hab ich den sinn hinter klassen noch nicht so 100%
> verstanden, da in denen ja auch nix anderes sitzt als funktionen.

Klassen sind klasse.
Meine Projekte basieren derzeit größtenteils auf Klassen der PHPLib.
Voranging verwende ich die DB-, Auth-, Perm- und die Template-Klasse.
Dazu habe ich mir noch eine Klasse zur Verwaltung von Modulen erstellt.
In vielen Projekten habe ich mir die Möglichkeit geschaffen, Erweiterungen 
jederzeit durch das Einbinden von Unterprojekten (Module) zu ermöglichen.
Damit das reibungslos funktioniert gibt es eine Klasse, die alle Funktionen 
kapselt, die ich immer und überall mit der gleichen Funktionalität verwende.

Das sieht dann z.B. so aus (ein gekürztes Beispiel):

class funk {
  /**
  * Entfernt Slashes und wandelt Umlaute in ihre HTML-Entsprechung um.
  *
  * @param    string    der zu bearbeitende String
  * @return   string
  */
  function striphtml($wert) {
    $wert = stripslashes(htmlentities($wert));
    return $wert;
  }
}

Der Aufruf erfolgt dann so:

$name = funk::striphtml($db->f("name"))


Unabhängig davon, verwende ich trotzdem für jedes Modul auch weiterhin normale 
Funktionen, da sie nunmal nur innerhalb eines Modules eine bestimmte Funktion 
ausführen und sonst nirgends. Und diese Funktionen werden auch nur dann 
eingebunden, wenn das entsprechende Modul verwendet wird.
Sobald man eine Funktionen mehrfach verwendet und sich an dieser Funktion über 
mehrere Projekte hinweg nichts ändert, könnte man auch über das Einbinden in 
einer Klasse nachdenken. 
Ansonsten lohnt sich der Aufwand wohl kaum (zumindest für mich nicht).


My 2 cents.

-- 
Koala

php::bar PHP Wiki   -   Listenarchive