php.de

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

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.11.2010, 01:29  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Gruseliger Code. Was ist eine Framework-Klasse?

Vielleicht beschreibst du mal wie deine Anwendung aufgebaut ist. Geht es dir um einen kurzen knappen Aufruf, um das Ansprechen gemeinsam genutzter Klassen, soviel OOP wie geht, alles gemeinsam, ..?

Ich muss ehrlich sein ich finde solchen Code schlimm. Weil kein Mensch ausser dir versteht was eigentlich gemacht wird und wozu; einem Muster entspricht das ganze selten. Aussagekraeftige Benennung nicht vorhanden (framework_main???), alles voller abstrakter, privater, statischer Deklarationen...
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.11.2010, 01:33  
Neuer Benutzer
 
Registriert seit: 17.11.2010
Beiträge: 7
PHP-Kenntnisse:
Fortgeschritten
sonicpix befindet sich auf einem aufstrebenden Ast
Standard

Das klingt ja alles ganz gut, aber auch nach noch mehr Aufwand. Ich habe schon jetzt über 5000 Fundstellen zu ersetzen, und nicht alle davon sind in einem Objekt-Kontext (Template-Dateien, die mit include() eingebunden werden z.B.). Außerdem müssten Klassen, die z.B. PEAR-Klassen extenden separat angepasst werden. D.h. DI- oder Adapter-Pattern wären grundsätzlich schon nett, aber im Moment dürfte das an den Ressourcen scheitern.
sonicpix ist offline   Mit Zitat antworten
Alt 18.11.2010, 08:06  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

ich bin doch mal gespannt:

wenn du als ersten Befehl in deiner index.php
PHP-Code:
<?php
error_reporting
(E_ALL);
ini_set('display_errors'1);
...
einbaust, wieso behauptest du, darauf keinen Zugriff zu haben?
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 18.11.2010, 09:54  
Neuer Benutzer
 
Registriert seit: 17.11.2010
Beiträge: 7
PHP-Kenntnisse:
Fortgeschritten
sonicpix befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von eagle275 Beitrag anzeigen
ich bin doch mal gespannt:

wenn du als ersten Befehl in deiner index.php
PHP-Code:
<?php
error_reporting
(E_ALL);
ini_set('display_errors'1);
...
einbaust, wieso behauptest du, darauf keinen Zugriff zu haben?
Ich kenne das Setup der Server-Umgebung nur teilweise. Soweit ich das sagen kann, werden zwangsweise gewisse PHP-Dateien zu Beginn des Requests geladen, die z.B. das Standard Error-Handling überschreiben. error_reporting(E_ALL) tut auf diesem Server leider gar nichts. Vermutlich könnte man mal versuchen, die registrierten Error-Handler zu überschreiben, aber bislang hatte ich damit noch keinen Erfolg. Und mal ganz davon abgesehen: Ich bekomme einen 500er-Serverfehler mit der Standard-Apache-Ausgabe, das wirkt auf mich nicht, als wäre es aus PHP getriggert (PHP Fatal oder Parse-Errors führen in dieser Server-Umgebung normalerweise einfach zu einer weißen Seite).
sonicpix ist offline   Mit Zitat antworten
Alt 18.11.2010, 10:01  
Neuer Benutzer
 
Registriert seit: 17.11.2010
Beiträge: 7
PHP-Kenntnisse:
Fortgeschritten
sonicpix befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Chriz Beitrag anzeigen
Gruseliger Code. Was ist eine Framework-Klasse?

Vielleicht beschreibst du mal wie deine Anwendung aufgebaut ist. Geht es dir um einen kurzen knappen Aufruf, um das Ansprechen gemeinsam genutzter Klassen, soviel OOP wie geht, alles gemeinsam, ..?

Ich muss ehrlich sein ich finde solchen Code schlimm. Weil kein Mensch ausser dir versteht was eigentlich gemacht wird und wozu; einem Muster entspricht das ganze selten. Aussagekraeftige Benennung nicht vorhanden (framework_main???), alles voller abstrakter, privater, statischer Deklarationen...
Das Problem ist, dass das proprietärer Code ist, der nicht mir gehört und den ich auch nicht so en detail in der Öffentlichkeit diskutieren kann, daher habe ich versucht, das Problem etwas abstrakter zu umschreiben.

Ich arbeite allerdings auch mit einem Open Source-Framework, das einen ganz ähnlichen Aufbau hat, und bei dem ich mir überlege, das gleiche Refactoring durchzuführen. Falls es Dich interessiert, kannst Du hier Details einsehen: https://github.com/flack/openpsa. In diesem Fall ist es noch etwas wirrer, da hier nicht $GLOBALS['framework'] als Einstiegspunkt verwendet wird, sondern ein eigenes Superglobal (namens $_MIDCOM), das von einer Framework-eigenen PHP-Extension zur Verfügung gestellt wird.
sonicpix ist offline   Mit Zitat antworten
Alt 18.11.2010, 13:14  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
Ich arbeite allerdings auch mit einem Open Source-Framework, das einen ganz ähnlichen Aufbau hat, und bei dem ich mir überlege, das gleiche Refactoring durchzuführen.
Bei "fremder" Software würde ich überhaupt keine Hand anlegen, sonst sind deine Änderungen beim nächsten Update wieder verschwunden. Es sei denn, du bist der Hersteller der Software. Aber dann würde ich noch einige andere Punkte überarbeiten.

Zur übrigen Diskussion kann ich Chriz nur zustimmen.
__________________
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!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. 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
[Erledigt] Exchange 2007 KalenderItems tarian PHP-Fortgeschrittene 1 26.05.2010 10:23
[Erledigt] Observer-Pattern Kardey Software-Design 20 15.03.2010 17:16
[Erledigt] static Fehler in OOP abdullah PHP-Fortgeschrittene 18 03.01.2010 21:05
URL-Design für PAC-Ansatz xm22 Software-Design 27 02.12.2009 09:38
Decorator-Pattern grizu PHP Tipps 2009 15 12.08.2009 14:41
Persistence Framework #Avedo Software-Design 37 28.03.2009 17:32
GD-Spezialisten gesucht....wer kann helfen? rezix PHP Tipps 2008 12 26.02.2008 17:55


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:15 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