php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.04.2009, 20:25  
Erfahrener Benutzer
 
Registriert seit: 08.04.2009
Beiträge: 324
Creator befindet sich auf einem aufstrebenden Ast
Standard Welches Pattern?

Hallo@all

Das was ich vor habe, ist etwas schwer zu beschreiben, aber ich versuches es einfach mal!

Ich habe mir vor einer "ewigkeit" mal ein eigens MVC Framework Programmiert, welches seine Dienste sehr gut erfüllt.

Dieses möchte ich jetzt mit einer Art Hilfestellung für den Programmierer erweitern .
Jeder von euch wird es wohl kennen, dass man bei mehreren 100 Files durchaus mal den überblick verlieren kann.
Grade wenn man ein Projekt erweitern möchte/muss, woran man eine längere Zeit nicht mehr gearbeitet hat. Man muss sich einfach wieder einlesen. Auch wenn man vieles gut Dokumentiert hat.
Oder jemand anderes hat diese Projekt Programmiert, welches man jetzt erweitern soll.
Wärend der entwicklung, könnte es sicher auch beim Debuggen helfen.

Gewisse Informationen können diese Zeit der einarbeitung erheblich verkürzen.

Beispiel welche Informationen ich Interessant finde.

1. Welche Controller wurde bei einem Request ausgeführt
2. Welches Layout wird bei diesem Request verwendet.
3. Welche Template Datein werden angezeigt.
4. Was steht in den Superglobalen Arrays. ( $_POST, $_GET, $_SESSION, usw. )
5. Welche Plugins wurden verwendet. ( ACL, Multilanguage, PageBrowser, usw. )

Ich finde, dass dies alles Informationen sind, die dafür Beitragen das ich sehr schnell einen überblick bekomme.

Möchte der "Designer" nur was an einer ausgabe ändern weil er vieleicht ein Tipfehler gefunden hat als Beispiel, brauch er sich nur dort hinklicken und kann sehr schnell erkennen in welchem Template dieser Text steht.
Ohne diese Information, müsste er sich erst durch die ganzen Templatefiles wühlen.
Das gleiche gilt für den Programmierer, sehr schnell findet man den Controller den man haben möchte.

So jetzt zur umsetzung des ganzen.
Diese ganzen Informationen müssen ja erstmal alle gesammelt werden.
Dafür habe ich mir jetzt 3 Regeln ausgedacht.

1. Nur die Infos Sammeln während der Entwicklung, bzw. wenn ich dieses möchte.
2. Framework und die ProgInfo ich nenne das jetzt mal so, sind unabhängig von ein ander. Also keine feste implentierung der ProgInfo.
3. Es sollte keinerleih Performance einbussen durch die nicht nutzung vorhanden sein. Dies würde ja den Produktiveinsatz ja beeinflussen.

Zum 1 Punkt, dies löse ich wie folgt.
PHP-Code:
// production, debug oder development?
define('APPLICATION_ENVIRONMENT','development'); 
Zu Punkt 2 da Grübel ich grade drüber.

Was haltet Ihr hier wenn man das Subject / Observer Pattern verwenden würde? Macht das Sinn oder kennt Ihr noch eine besseren Lösungsweg?

2 Frage, was haltet Ihr im Allgemeinen von dieser Idee?
Creator ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.04.2009, 00:10  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

hmm ich weis grad nicht was genau du meinst, aber meinst du z.b. sowas wie das was es hier für das zend framework gibt:

Introducing the Scienta ZF Debug Bar - Joakim Nygård
oder auch
Zeltlblotzbuam.de V3.1

Sowas liese sich ja wenn man es dementsprechend ausbaut und für das jeweilige framework anpasst auch durchaus so erweitert, dass es alle templates listen kann die gebraucht wurden, alle controller und actions sammelt etc ...

Imho sollte man sich, immer überlegen ob man wie in deinem Vorschlag zu einem Observer(able) debug-code ins system fest einbauen will, die komplexität aller klassen die du überwachen können willst würde steigen, dann doch lieber eine art plugin das sich die gewünschten informationen selbst zusammensucht.
robo47 ist offline   Mit Zitat antworten
Alt 12.04.2009, 00:47  
Erfahrener Benutzer
 
Registriert seit: 08.04.2009
Beiträge: 324
Creator befindet sich auf einem aufstrebenden Ast
Standard

Ja sowas meinte ich, wusste garnicht, dass es sowas schon gibt.

Der Zweite Link passt irgendwie nicht zum Theman oder hab ich mich da jetzt vertan?

Zitat:
dann doch lieber eine art plugin das sich die gewünschten informationen selbst zusammensucht.
Ok aber wie komme ich dann an diese Informationen ran? Dafür bräuchte ich im Plugin ( ProgInfo ) ja alle Instanzen von gewissen Objekten.

Bei Manchen wäre das kein Problem, weil die Singelton verwenden. Bei anderen würde es auch gehen, weil diese in der Registry liegen. Aber beim Frontcontroller wüsste ich jetzt nicht wie, außer ich übergebe alle Objekte im Constructor mit.

Würde ja nur Stattfinden, wenn man Programmiert.

Gibt es noch eine andere Variante.
Creator ist offline   Mit Zitat antworten
Alt 12.04.2009, 02:35  
Neuer Benutzer
 
Registriert seit: 19.03.2009
Beiträge: 15
dispy wird schon bald berühmt werden
Standard

Warum nimmst du dir nicht einfach den Backtrace und analysierst den ? Erstens lässt er sich leicht ausstellen und belastet das System nicht weiter und zweitens kannst du den dann auf alle anderen Projekte, die genau das gleiche Framework einsetzen, anwenden. Das erste Schreiben von der Parserklasse dürfte halt aufwendiger ausfallen





MfG
dispy
dispy ist offline   Mit Zitat antworten
Alt 12.04.2009, 10:59  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Zitat:
Zitat von Creator Beitrag anzeigen
Ja sowas meinte ich, wusste garnicht, dass es sowas schon gibt.

Der Zweite Link passt irgendwie nicht zum Theman oder hab ich mich da jetzt vertan?
Bei 2ten Link ist so ein Teil im Einsatz, zeigt Fehler an etc (Javascript vorrausgesetzt)

Zitat:
Ok aber wie komme ich dann an diese Informationen ran? Dafür bräuchte ich im Plugin ( ProgInfo ) ja alle Instanzen von gewissen Objekten.
In irgendeiner Form müssen ja in jeder Architektur Objekte andere Objekte kennen, ich kenne dein Framework nicht, aber im ZF bekommt man sehr viel über den Frontcontroller bekommen, unter anderem das Response-Objekt, das Request-Objekt, den Router und so, andere Instanzen werden oftmals in der Registry des Frameworks abgelegt, die Datenbank-Klasse, die unterstützt beispielsweise Profiler die die Daten über alle Querys mitloggen können, die man sich dann da rausholen kann und so
robo47 ist offline   Mit Zitat antworten
Alt 12.04.2009, 13:57  
Erfahrener Benutzer
 
Registriert seit: 08.04.2009
Beiträge: 324
Creator befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
In irgendeiner Form müssen ja in jeder Architektur Objekte andere Objekte kennen, ich kenne dein Framework nicht, aber im ZF bekommt man sehr viel über den Frontcontroller bekommen, unter anderem das Response-Objekt, das Request-Objekt, den Router und so, andere Instanzen werden oftmals in der Registry des Frameworks abgelegt, die Datenbank-Klasse, die unterstützt beispielsweise Profiler die die Daten über alle Querys mitloggen können, die man sich dann da rausholen kann und so
Du hast absolut recht, manch mal ist der einfachste weg auch der Sinnvollste!
Ich denke immer gerne etwas zu Kompliziert.
Creator ist offline   Mit Zitat antworten
Alt 12.04.2009, 21:00  
Benutzer
 
Registriert seit: 27.03.2008
Beiträge: 99
PHP-Kenntnisse:
Fortgeschritten
fat32 befindet sich auf einem aufstrebenden Ast
Standard

Also in meinem Framework liegen Informationen wie verwendeter Controller, Action, usw. im Request-Objekt
fat32 ist offline   Mit Zitat antworten
Alt 13.04.2009, 09:51  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Auch wenn ein Controller einen anderen Aufruft?
__________________
"Nobody is as smart as everybody" - Kevin Kelly
— The best things in life aren't things
phpdummi ist offline   Mit Zitat antworten
Alt 13.04.2009, 12:13  
Benutzer
 
Registriert seit: 27.03.2008
Beiträge: 99
PHP-Kenntnisse:
Fortgeschritten
fat32 befindet sich auf einem aufstrebenden Ast
Standard

Nein, das steht da nicht drin... Ok, hab wohl das Problem falsch verstanden
fat32 ist offline   Mit Zitat antworten
Alt 13.04.2009, 12:59  
Erfahrener Benutzer
 
Registriert seit: 08.04.2009
Beiträge: 324
Creator befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Also in meinem Framework liegen Informationen wie verwendeter Controller, Action, usw. im Request-Objekt
Bei mir auch.

Zitat:
Auch wenn ein Controller einen anderen Aufruft?
Das gibt es in meinem Framework nicht, da ich das immer recht unübersichtlich finde.
Habt mal 50 Controller, die sich gegenseitig nach einer gewissen logik aufrufen.

Ich habe hier den einfachsten weg gewählt.
Meine Request Klasse, entscheidet an Hand einer ConfigLogik, was wann geladen wird.
Wenn der Page Parameter Controller1 übergeben wird, dann holt sich die Request Klasse aus einem Array die Informationen welche Controller noch bei diesem Request verarbeitet werden müssen.

Bis jetzt bin ich auf keine Probleme gestoßen. Controller können immer noch weitere Controllor einbinden wenn diese wirklich nicht anders gehen sollte.
Creator ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Command Pattern konkret bei Bildbearbeitung Chriz Software-Design 12 24.02.2009 21:48
[Erledigt] preg_match und die Pattern Spoiler PHP Tipps 2009 9 13.02.2009 08:29
Formulargenerierung | Composite Pattern moveax1 PHP-Fortgeschrittene 13 27.01.2009 09:44
preg_replace: Gleiche Platzhalter im Pattern Lavalampe PHP Tipps 2009 5 16.01.2009 21:42
Singleton Pattern Verstaendisproblem Luka PHP Tipps 2008 13 19.12.2008 19:00
PHP Command Pattern = Module? meGa Software-Design 4 14.12.2008 12:35
[Erledigt] Formularvalidierung, preg_match pattern Problem moveax1 PHP Tipps 2008 4 12.12.2008 16:48
Design Pattern Harry B. Software-Design 7 02.09.2008 20:49
Bild vor Link pattern TimmaY PHP Tipps 2007 5 21.03.2007 18:06
Hilfe bei Pattern Syntax Charly Shop Sui PHP Tipps 2006 4 13.05.2006 20:10
Decorator pattern: 'protected' und parallele vererbung axo PHP-Fortgeschrittene 5 20.10.2005 15:53
[Erledigt] Design Pattern - MySQL Sitzung in allen Objekten nutzen PHP-Fortgeschrittene 21 28.04.2005 22:18
Folgendes Pattern PHP Tipps 2005 5 01.03.2005 12:41
Probleme mit Pattern bei Templateersetzung RudiS PHP-Fortgeschrittene 2 19.02.2005 22:09
preg_match --> pattern PHP Tipps 2004 4 27.08.2004 18:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php plugin pattern, plugin pattern php, php request pattern, pattern acl, php pattern plugin, wann welches pattern, router pattern php, plugin pattern zend, http://www.php.de/php-fortgeschrittene/54026-welches-pattern.html, acl pattern, acl pattern php, \plugin-pattern\ php, command pattern php, request pattern php, php plugin pattern zend framework, design pattern acl, subject observer zend framework request, welches pattern, php multilanguage pattern, php acl pattenr

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum