| | | | |
| |||||||
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Benutzer Registriert seit: 20.09.2008
Beiträge: 91
PHP-Kenntnisse: Anfänger ![]() | Hallo, nachdem ich an anderer Stelle hier im Forum den Einstieg in OOP gewagt habe, ist hier nun mein erster Versuch. Ich wollte mit einer Mini-CMS üben. Es gibt eine MySQL Tabelle namens content die folgende Spalten hat: cms_id (ID für jede einzelne Unterseite) cms_link (Link zur jeweiligen Unterseite) cms_title (Titel der Unterseite) cms_menu (Wie die Unterseite in der Navi erscheinen soll) cms_require (hier wird der der Dateiname abgelegt, in welcher sich der Content für die jeweilige Unterseite befindet) Dann hab ich mir zwei Klassen gebastelt: Die erste holt die Daten aus der Tabelle, die zweite gibt die Daten aus: PHP-Code: PHP-Code: ![]() Als nächste Schritte kämen dann Klassen für "current page" (Aktuelle Seite soll im Menü anders angezeigt werden) und natürlich eine Klasse, die den Content anzeigt. ABER bevor ich weitermache, wollte ich gerne erst mal die Meinung von den Profis hier über meine Klassen wissen. Und ganz ehrlich: Ich hab selbst bei meiner eigenen Klasse immer noch nicht kapiert, was der Vorteil von OOP ist, denn das alles hätte ich doch auch mit stinknormalen prozeduralen Funktionen hingekriegt, oder? Vielen Dank für Eure Tipps! |
| |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Moderator und Wett-König | Hallo, die Vorgehensweise ist schon nicht verkehrt. Möchte man das Design erweitern wird es sehr schnell komplex. Was du grundsätzlichen machen kannst ist eine Filter-Klasse einführen, die die notwendigen Request-Parameter aus der URL liest (aktuelle Seite, Sprache, ...) und in eine Model-Klasse schreibst. Diese Informationen kann dann deine Ausgabe-Klasse nutzen um sich die Daten aus der Tabelle lesen zu lassen und sie anschließend auszugeben. Das geht dann schon mal in die Richtung 3-Schicht-Architektur und MVC. Sobald du das geschafft hast, kannst du dir über Bootstrapping gedanken machen, sprich die komplette Seite über eine PHP-Datei ausliefern. Ab dann hast du die Möglichkeit zentrale Funktionen auch zentral vorzuhalten.
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| | |
| Neuer Benutzer Registriert seit: 05.02.2009
Beiträge: 21
![]() | Yo geht aber es ist kein Vererbung. Du generierst einfach ein Objekt von einer Klasse! http://de.wikipedia.org/wiki/Objekto...rung#Vererbung |
| |
| | |
| Moderator und Wett-König | Ein kluger Kopf hat mir mal beigebracht: "Die Komposition ist der Vererbung stets vorzuziehen." Grund: die Wiederverwendbarkeit der komponierten Komponente. ![]()
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| | |
| Moderator und Wett-König | Das Problem am Auto-Beispiel ist, dass Autos zwar im richtigen Leben einfach erscheinen, weil man sich nicht mit der Konstruktion, sondern nur mit der API beschäftigen muss, für den Einstieg in OOD sind sie jedoch Gift, weil zu Komplex. Ich würde einfacher beginnen, mit einem Gästebuch z.B.
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| | |
| Erfahrener Benutzer | darf ich dir nen tipp geben? speichere die sachen nicht in einem array wenn du große seiten bekommst, mit vielen usern und größeren abfragen geht der vorteil von datenbanken verloren. du speicherst z.b 100 ergebnisse in einem array und das bei 1000 usern, nimmt viel arbeitsspeicher in anspruch. Vortiel ist ja eigentlich, das man 100000 ergebnisse haben kann aber sie nicht alle in eine variable stecken muss. mach sowas wie gibNaechsteReihe... BTW: ist das was wir in der schule lernen... wenn es bullshit ist hier bitte sagen
__________________ Under Construktion |
| |
| | |
| Benutzer Registriert seit: 20.09.2008
Beiträge: 91
PHP-Kenntnisse: Anfänger ![]() | Danke für Eure Tipps! Was Vererbung betrifft, so habe ich versucht mir das mit einem Bsp. zu erklären, dass den meisten geläufig ist: CSS. Wenn ich z.B. a {color: red;} deklariere, so kann ich dies später erweitern, z.B.: div#blabla a {background-color: blue;} So ähnlich (aber komplexer) funzt OOP. Ich hoffe, so habe ich zumindest das Prinzip Vererbung bei OOP jetzt geschnallt... ![]() |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Einstieg in Objekt-orientierte-Programmierung (OOP) | echo | PHP Tipps 2009 | 50 | 17.02.2009 11:55 |
| [Erledigt] PHP5 OOP Zugriff aus einem Objekt auf ein externes Objekt | PHP Tipps 2006 | 5 | 28.01.2006 16:05 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| einstieg objektorientierte programmierung, objektorientierte programmierung einstieg, php oop extends, php gästebuch objektorientiert, http://www.php.de/php-einsteiger/51845-einstieg-objekt-orientierte-programmierung-oop-erste-versuche.html, einstieg in die objektorientierte programmierung, gästebuch oop, php object orientiert, komposition oop, php oop extend, php oop guestbook, php oop gästebuch, orientierte programmierung, php gästebuch oop, oop php extends, gästebuch objektorientiert, oop gästebuch php, oop komposition, objekt orientiert php, php objektorientiertes gästebuch |