Mailinglisten-Archive |
>Hallo zusammen, >ich bastle jetzt schon seit bestimmt 1 1/2 Jahren an und mit PHP, aber eine >Grosse sache habe ich bis dato noch nicht machen müssen/dürfen ! >Klassen... >Meine Frage ist nun, was spricht für die Verwendung von class und in >welchem Fall sollte man sie nehmen in welchem nicht ? Hi Jens, Klassen solltest du immer dann verwenden, wenn Funktionen und Variablen in einem komplexen Zusammenhang stehen, d.h. die Funktionen erzwingen sich gegenseitig. Beispiele: Mime - Mail Versand, Templates, Benutzeranmeldungen e.t.c. Für all diese Dinge benötigst du mehrere Funktionen/Variablen die in einem direkten Zusammenhang stehen. Bei Mime - Mail wäre das z.B. Variablen: var $classname = "mime_mail"; ## Persistence Support var $parts; var $to; var $from; var $headers; var $subject; Funktionen: function mime_mail() function build_message($part) function build_multipart() function add_attachment($message, $name = "", $ctype = "application/o ctet-stream") und function send() Die Aufrufe wären dann etwa: $attachment = fread(fopen("test.jpg", "r"), filesize("test.jpg")); $mail = new mime_mail(); $mail->from = "foo_(at)_bar.com"; $mail->headers = "Errors-To: foo_(at)_bar.com"; $mail->to = "bar_(at)_foo.com"; $mail->subject = "Testing..."; $mail->body = "This is just a test."; $mail->add_attachment("$attachment", "test.jpg", "image/jpeg"); $mail->send(); Du siehst das hier sogar der Laie erkennen kann, dass es sich um Code für einen Mailversand handelt. Ein zweiter nicht zu verachtender Vorteil ist, dass du Klassen erweitern kannst. z.B.: class mime_more extends mime_mail... Zusätzliche Funktion: function pruefe_EMailSyntax($string) Hier lassen sich nicht nur zusätzliche Funktionen einfügen, sondern auch bereits bestehende Funktionen überschreiben. Die Funktion pruefe_EMailSyntax($string) kannst du aber auch anderweitig verwenden. Hier bietet sich an, diese Funktion in einer Include - Datei abzulegen und diese bei Gebrauch einzubinden. Gerade Sytaxprüfungen (Variablentyp, Datumsauswertungen, Links, Dateinamen u.s.w) werden fast in jeden Script gebraucht. Um nicht jedesmal ein new... einzugeben speichere ich diese als Funktionsbibliothek ab, da diese Funktionen für sich selbst abgeschlossen sind (wenige Parameter, ein Ergebnis). Letztendlich musst du selbst entscheiden welcher Weg der richtige ist. Bei kompilierten Programmen kommt natürlich noch der Speicherbedarf bzw. die Performance in Betracht, bei php spielt das eine untergeordnete Rolle (Bitte hier nicht weiterdiskutieren, ich weiss da gibts 1000 Meinungen). Ich hoffe dir mit meiner persönlichen Meinung etwas geholfen zu haben. MFG Wolfgang
php::bar PHP Wiki - Listenarchive