| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

27-07-2009, 13:18
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zitat:
|
Wenn ich bei uns in der Firma so einen Code abliefern würde, würde ich nicht mehr lange in der Firma arbeiten.
|
Aber auch im ZF ist nicht alles Gold, was glänzt.
Das ein oder andere Singleton dümpelt da rum, und ich habe KA warum.
Die ganzen eingestreuten require* nerven, weils ohne includepath nicht geht.
Das halbgare Autoloading... entweder überall require* einstreuen, oder Autoload. Aber doch nicht solch ein durcheinander.
Ich sezte auch häufiger mal ein paar Teile des FW ein. Z.b. Zend_Soap_Server mit seiner automatischen WSDL generierung halte ich für recht gelungen. Auch das Mail Gedöns ist gut brauchbar. usw.
|

27-07-2009, 13:24
|
|
martin2
Registrierter Benutzer
|
|
Registriert seit: May 2005
Ort: Duisburg
Beiträge: 79
|
|
Zitat:
Zitat von combie
Aber auch im ZF ist nicht alles Gold, was glänzt.
Das ein oder andere Singleton dümpelt da rum, und ich habe KA warum.
Die ganzen eingestreuten require* nerven, weils ohne includepath nicht geht.
|
stimmt, abe im ZF werden solche Fehler nach und nach ausgemerzt das autoloading ist noch nicht so das wahre aber auch das wird von release zu release besser. das einbetten der Singelton war wohl etwas über ziel hinausgeschossen.
|

27-07-2009, 13:35
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Zitat:
Zitat von combie
Aber auch im ZF ist nicht alles Gold, was glänzt.
|
Da stimm ich dir voll zu. Aber in professionellen Kreisen wird es trotzdem sehr gerne verwendet. Einerseits, weil es sehr gut dokumentiert ist, andererseits weil die Zend-Leute dahinter stehen und es stetig weiterentwickelt wird.
Jedes Framework hat irgendwelche Macken. Aber trotzdem gibts auch gute und eher schlechte Frameworks. Mit der Zeit entwickelt man ein Auge dafür, welche gut und welche schlecht programmiert sind, und welche für die geplante Aufgabe am geeignetsten ist.
Ein Framework, das großteils aus prozeduralen Code besteht und das so formatiert ist, als hätte es ein Anfänger getippt ist nicht gerade vertrauenerweckend und lässt an den Künsten der Ersteller zweifeln. Und ehrlich gesagt würde ich mich als Entwickler mit sowas nicht beschäftigen wollen. Da programmier ich lieber von Grund auf ein neues Framework, anstatt ein fertiges zu verwenden, das unsauber zusammengeschustert ist. Vor allem mit den Variablen und Funktionen im globalen Namensraum stößt man früher oder später auf Probleme. Das ist alles andere als professionell.
Geändert von h3ll (27-07-2009 um 13:38 Uhr)
|

27-07-2009, 13:44
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Ich habe mir das Ding von piratos auch mal angesehen.....
(sonst hätte ich nicht so grinsen können)
Die schlimmsten Auffälligkieten:
1. ein Urwald von Konstanten
2. __autoload macht SPL Autoload kaputt
3. zudonnern des globalen Namensraumes (Funktionen, Konstanten u. Variablen)
Meine index.php sehen meist so aus, oder so ähnlich:
PHP-Code:
<?php
require_once "./Config/Application.php";
$Application = new Application;
$Application->run();
Wobei dann $Application die einzige globale Variable ist. Und das auch nur weil es nicht anders geht. Sie wird auch nur in dieser Datei verwendet.
|

27-07-2009, 15:15
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Zitat:
Zitat von combie
Wobei dann $Application die einzige globale Variable ist. Und das auch nur weil es nicht anders geht. Sie wird auch nur in dieser Datei verwendet.
|
Naja, so teilweise. Ich packe noch eine Bootstrap-Klasse drumherum, welche die eigentliche Anwendungsinstanz erzeugt. So sind mehrere Anwendungen über das gleiche Skript abrufbar und die Anwendungsinstanz ist nichtmal global.
Sieht dann so aus:
PHP-Code:
<?php
define('BOOTSTART', microtime(true));
require_once 'bootstrap.php';
Bootstrap::dispatch();
Nur um selbst noch die letzte Globale zu killen
|

27-07-2009, 15:21
|
|
martin2
Registrierter Benutzer
|
|
Registriert seit: May 2005
Ort: Duisburg
Beiträge: 79
|
|
genau @phpdesaster.. sieht garnicht so nach einem desaster aus...
|

27-07-2009, 15:29
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Wenn ich run() statisch mache, könnte ich den selben Effekt erreichen.
PHP-Code:
require_once "./Config/Application.php";
Application::run();
Aber statisch meide ich (meistens) wie die Pest. Lieber 1 globale Variable, als ein "unnötiges" static
|

27-07-2009, 15:40
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Zitat:
Zitat von combie
Aber statisch meide ich (meistens) wie die Pest. Lieber 1 globale Variable, als ein "unnötiges" static
|
Naja, was meinst du, macht meine statische Methode:
PHP-Code:
$inst=new self(); $inst->_boot();
Ist also gehüpft wie gesprungen
Zitat:
Zitat von martin2
genau @phpdesaster.. sieht garnicht so nach einem desaster aus... 
|
Bedankt
|

27-07-2009, 15:47
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Nein!
Das würde bei mir nicht ohne get_called_class() gehen.
Meine Application Basisklasse und damit run() liegt tiefer in der vererbungsstruktur.
Geändert von combie (27-07-2009 um 15:50 Uhr)
|

27-07-2009, 16:08
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Zitat:
Zitat von combie
Meine Application Basisklasse und damit run() liegt tiefer in der vererbungsstruktur.
|
Ja ok, meine Bootstrap-Klasse ist nur der Dispatcher, die konkrete Anwendungsinstanz wird innerhalb des Bootstrapings erstellt. Die Konfiguration und Art der Instanz ermittelt alles die Klasse, bevor dann die eigentliche Ausführung stattfindet.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|