SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.07.2008, 02:50:56
ascer ascer ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 137
Erweiterbare Module

Hallo Leute,


so, hab noch eine Frage heute Abend und zwar lese ich gerade ein PHP-OOP-Buch von Matthias Kannengiesser, das Buch ist auf jeden Fall sehr gut und das meiste auch verständlich, ein Thema und zwar die Erstellung von erweiterbaren Modulen, hab ich aber noch nicht ganz verstanden.

Prinzip ist, das man mit Hilfe von OOP natürlich, für bestimmte Arbeiten die erledigt werden müssen ein Modul programmiert, welches die "Verantwortung" hat, diese Arbeit(en) zu erledigen...

Wenn man zu wenige "Erweiterungsmöglichkeiten" einbaut, dann wird das ganze nur für dieses Projekt nutzbar und nicht allgemein nutzbar, baut man hingegen zu viele Erweiterungen ein, wird es überladen und schwerer wartbar...

Laut Kannengiesser ist es also notwendig, ein Modul zu programmieren welches die Anforderungen erfüllt, also die Aufgaben erledigt, nicht zu viele Erweiterungsmöglichkeiten besitzt aber genügend Erweiterungsmöglichkeiten um es für andere Projekte einzusetzen OHNE das man den Quellcode großartig umschreiben muss... ( weil es ansonsten ja für jedes projekt ne eigene "testklasse.php"-Version geben würde und damit wäre die Wartbarkeit hinüber ).


Nehmen wir also mal an, ich will ein DIV ausgeben welches verschiedene Meldungen mit nem Rahmen drumherum anzeigt:


nach Kannengiesser (und auch logisch) wäre die falsche Art und Weise ja so etwas:
PHP-Code:
// wenn ich jetzt z.B. nen orangenen Rahmen haben will, wär ich angeschmiert
// da ich erst etwas am Code ändern müsste
function meldung($string){
   print 
"
      <div style='border:1px solid black;'>
         $string
      </div>
   "
;


das wirft mich aber zur Frage, wie macht man es denn vernünftig erweiterbar?
Ich könnte natürlich sagen, das ich zu $string der die Meldung enthält noch Parameter wie $width, $height, $color übergebe, die einen Standardwert besitzen und die ich später dann bei Bedarf überschreiben kann...

ABER

das ist doch auch nicht Sinn und Zweck von erweiterbaren Modulen, oder?
Ich meine, ich kann jetzt ja schlecht jede Eventualität durchgehen, dann hab ich 200 Zeilen Code um nen einfaches Div mit nem Rand anzuzeigen und abgesehen davon, was würde ich wohl tun, wenn ich z.B. zwecks Positionierung noch ein zweites DIV außenrum brauche o.Ä.??


Also, die Problemstellung ist mir klar, ist von Kannengiesser auch schön beschrieben, was mir jedoch noch unklar ist, wie programmiert man jetzt am besten ein Modul, das eine Aufgabe erledigt und trotzdem vernünftig erweiterbar ist? Und wie findet man am besten heraus, was überflüssig ist (als Erweiterung) und was nicht?


ich weiß, keine einfache Frage, aber vielleicht kann ja einer der PHP-Gurus hier ausm Forum mal ausm Nähkästchen plaudern, wie sie bei ihren Projekten solche Probleme lösen??


gruß,
Ascer

Geändert von ascer (16.07.2008 um 02:51:33 Uhr)
Mit Zitat antworten
  #2  
Alt 16.07.2008, 08:53:17
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Erweiterbare Module

Schönes Buch, vor allem der erste Teil aus dem Praxiskapitel (der mit dem Captcha) ;-)

Wenn Du schon die Ausgabe via print in einem Modul machst, wieso vergibst du dem nicht eine css-Klasse und steuerst das dann darüber?

Zweitens: Meine "Module" beinhalten keine direkte Ausgabe, sondern arbeiten mit Templates.

Und Drittens: Ich habe mir grade gestern abend sagen lassen: je wiederverwendbarer Code ist, desto schwieriger ist er zu programmieren ;-)
Mit Zitat antworten
  #3  
Alt 16.07.2008, 11:27:44
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Erweiterbare Module

Ich habe das Buch nicht gelesen!
Von daher ist mir der Begriff "Modul" zu schwabbelig....
Mit Objekt oder Framework bzw. Plugin, da kann ich was mit anfangen.

Auch glaube ich fest daran, dass es völlig reicht, wenn Ausgaben nur ein einer einzigen Stelle (der View) stattfinden. Und nicht in dutzenden von Funktionen.

Geändert von DokuLeseHemmung (16.07.2008 um 11:28:45 Uhr)
Mit Zitat antworten
  #4  
Alt 16.07.2008, 15:31:34
ascer ascer ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 137
AW: Erweiterbare Module

Also mit Modulen ist generell gemeint, das man anstatt vielen kleinen Lösungen, ob nun kleine Funktionen so wie ich oben in meinem Beispiel, oder sogar nur "normalen" Code ohne Funktion etc., sich Module ( 1 Funktion oder Klasse, je nach "größe" des Problems ) baut, die für das Problem zuständig sind und eben nicht nur dieses spezielle Problem bewältige können...

Kurz gesagt: du willst z.B. eine Menüleiste in Form eines Divs haben und baust eben nicht direkt diese Menüleiste, sondern baust -1- Funktion/Klasse, die beliebige Menüleisten (z.B. andere Farbe, Größe, Ausrichtung...) generieren kann...
Dann hast du ein Modul, welches dir die Menüleiste generiert, wenn also irgendwas falschläuft, weisst du, wo du suchen musst, da -nur- dieses Modul dafür zuständig ist UND wenn du es erweiterbar bzw. wiederverwendbar genug programmiert hast, kannst du dasselbe Modul auf der nächste Webseite für eine andere Menüleiste benutzen...


@feuervogel:
zu 1. manchmal steht man echt ziemlich aufm Schlauch, natürlich, eine CSS-Klasse in diesem Fall...keine schlechte Idee^^

zu 2. hm, sehr interessante Idee, es gibt bei dir also gar kein echo/print sondern quasi viele Templates die zu einem Template "zusammengebaut" werden und dann ganz am ende daraus die Seite generiert wird, oder wie darf man sich das vorstellen??

zu 3. ja, so sieht es leider aus^^
die Frage ist nur, wie man es wiederverwendbar genug hinbekommt ohne es zu übertreiben und eben für 1 div hunderte Codezeilen zu haben...aber Templates sind da natürlich eine schöne Idee, ich hatte sie bis jetzt immer nur für komplexere Sachen, wie z.B. den Seitenaufbau, Menüleisten, Formulare und so genutzt...
Mit Zitat antworten
  #5  
Alt 17.07.2008, 09:20:21
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Erweiterbare Module

okay, was mir grade noch dazu einfällt: warum willst du die ausgabe zwingend wiederverwendbar machen? bei mir habe ich für jede webseite ein ganz eigenes layout - natürlich gibt es gewisse details, die gleich bleiben, aber generell mache ich das jedesmal neu - aber halt eben mit templates.

was sich z.B. meist recht gut wiederverwenden lässt, ist eine nutzerverwaltung (wenn man sie gut durchdenkt), da braucht man nicht sooo viele zeilen code und die hat ja erst mal gar nichts mit der ausgabe zu tun...
Mit Zitat antworten
  #6  
Alt 18.07.2008, 10:19:53
ascer ascer ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 137
AW: Erweiterbare Module

Okay, soweit schonmal danke!

Also die Ausgabe will ich jetzt nicht zwingend wiederverwendbar machen, ich baue durchaus auch
für jede Webseite ein ganz eigenes Layout und benutze ebenfalls Templateklasse, ich wollte nur ein
einfaches Beispiel nehmen, das jeder versteht^^

Nochmal zu den Templates: ich arbeite zwar ebenfalls mit Templates, habe aber auch "print" im Einsatz,
wie ist das denn bei dir, hast du quasi ein großes Templates in das du immer kleine Templates einbaust
und welches du dann erst ganz am Ende vom Code ausgibst oder wie darf man sich das bei dir vorstellen?


gruß,
Ascer
__________________
-------------------------------------------------------
Alle Angaben sind wie immer ohne Gewähr ;)
Für Korrekturen bin ich -immer- offen

--------------------------------------

Wer ist der größere Tor?
Der Tor, oder der, der dem Tor folgt?

--------------------------------------

-> Mein PC <-
-------------------------------------------------------
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Module initialisieren Darksaber PHP für Fortgeschrittene und Experten 3 15.09.2007 23:03:46
MODULE MACHEN????? Spayn PHP Grundlagen 20 19.02.2006 12:46:20
module compilieren PhiL_phpnoob Apache HTTP-Server 0 24.12.2003 18:37:03
Module für den Apache sourcecode Off Topic Area 12 11.05.2003 21:38:09
Warning: Unknown persistent list entry type in module shutdown (11) in Unknown on lin phpbeginner23 PHP Grundlagen 1 06.09.2002 17:35:04


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:48:37 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt