php.de

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

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.07.2009, 23:34  
Erfahrener Benutzer
 
Registriert seit: 19.06.2009
Beiträge: 837
PHP-Kenntnisse:
Fortgeschritten
Jens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nett
Standard

Soll er ja garnicht. Für ein kleines Projekt soll er lieber gar nichts produzieren.

- Die API die er abbildet ist veraltet
- Eine Klasse, die nur eine API abbildet ist Verschwendung von Ressourcen und Programmierzeit
- Er ist ohne einen Wrapper kein Stück schlechter dran
- Das einzige Argument für so einen Wrapper ist die Austauschbarkeit des DBMS, die lässt sich aber auf anderen Wegen leichter erreichen, und mit dieser API ist sie sowieso nicht gegeben

Das hat ausschließlich was mit Pragmatismus zu tun...

Und nun geb ich's auf - ich hab langsam den Eindruck, ich red hier Suaheli.

Gruß Jens
Jens Clasen ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 04.07.2009, 00:06  
yab
Erfahrener Benutzer
 
Registriert seit: 05.04.2009
Beiträge: 291
PHP-Kenntnisse:
Anfänger
yab befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Jens Clasen Beitrag anzeigen
- Die API die er abbildet ist veraltet
Ja und, du bist vielleicht auch nicht mehr der Jüngste? Oder sollte das jetzt ein Argument sein?

Zitat:
Zitat von Jens Clasen Beitrag anzeigen
- Eine Klasse, die nur eine API abbildet ist Verschwendung von Ressourcen und Programmierzeit
Seine Klasse abstrahiert den DB-Zugriff.

Zitat:
Zitat von Jens Clasen Beitrag anzeigen
- Er ist ohne einen Wrapper kein Stück schlechter dran
Doch, wenn das Projekt unerwartet gewachsen ist und er später auf ein anderes DBMS angewiesen ist ohne derzeit auf alles Rücksicht nehmen möchte, weil genau der MySQL-Zugriff ausreichend ist.

Zitat:
Zitat von Jens Clasen Beitrag anzeigen
- Das einzige Argument für so einen Wrapper ist die Austauschbarkeit des DBMS, die lässt sich aber auf anderen Wegen leichter erreichen, und mit dieser API ist sie sowieso nicht gegeben
Nein, auch wenn man ausschließlich nur diesen MySQL-Wrapper nutzen möchte, macht das Sinn. Die Gründe wurden dir auch schon mehrfach genannt, keine Ahnung, warum du das vortwährend ignorierst.

Zitat:
Zitat von Jens Clasen Beitrag anzeigen
Und nun geb ich's auf - ich hab langsam den Eindruck, ich red hier Suaheli.
Warum aufgeben? Wenn du andere Anschauungen/Argumente als Feedback bekommst, so nennt sich das nicht Blasphemie sondern Diskussion. Wenn du Ja und Ahmen hören möchtest, dann werd Priester und geh' in die Kirche
yab ist offline   Mit Zitat antworten
Alt 04.07.2009, 00:47  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

mysql_* veraltet finde ich auch etwas weit hergeholt.
Dass der Wrapper so nicht gut austauschbar ist, wurde ja bereits gesagt. Aber zumindest hat er über das Interface eine Schnittstelle abgebildet.

Wenn er jetzt statt überall DB_Mysql zu verwenden, das macht

PHP-Code:
class my_DB extends DB_Mysql {} 
und statt DB_Mysql immer my_DB verwendet, ist er schon aus dem Schneider. Muss er irgendwann die Datenbank wechseln, ändert er eben den obigen Code meinetwegen nach

PHP-Code:
class my_DB extends DB_Postgres {} 
und definiert eine DB_Postgres Klasse.

Problem gelöst, ohne Verrenkungen, ohne tausendfaches Suchen & Ersetzen, ohne Factory-Umbau. Alternativ könnte er auch einen Postgres-Decorator basteln.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 04.07.2009, 07:30  
cortex
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Jens Clasen Beitrag anzeigen
Ich denke, im Fortgeschrittenen-Forum gehört mysql_connect() einfach verboten.
welch konstruktive aussage... i.a. führen solche pauschalisierungen zu unmut bei anderen usern, flamewars oder amokläufen. vielleicht bist du aber auch nur ganz besonders fortschrittlich.

cx
  Mit Zitat antworten
Alt 04.07.2009, 10:15  
Erfahrener Benutzer
 
Registriert seit: 19.06.2009
Beiträge: 837
PHP-Kenntnisse:
Fortgeschritten
Jens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nettJens Clasen ist einfach richtig nett
Standard

Zitat:
Zitat von nikosch
mysql_* veraltet finde ich auch etwas weit hergeholt.
Zitat:
Zitat von yab
Ja und, du bist vielleicht auch nicht mehr der Jüngste? Oder sollte das jetzt ein Argument sein?
  • Der "Hersteller" der alten MySQL-Extension schreibt in seinem Manual:
    Zitat:
    Zitat von http://www.php.net/manual/en/mysqli.overview.php
    Note: If you are using MySQL versions 4.1.3 or later it is strongly recommended that you use the mysqli extension instead.
  • Die aktuell als Stable gebrandmarkte MySQL-Version ist 5.1.
Ich weiß nicht, was Ihr noch braucht, um die Extension als veraltet zu bezeichnen. Selbst der "Hersteller" rät offen von der Benutzung ab.

Zitat:
Zitat von yab
Doch, wenn das Projekt unerwartet gewachsen ist und er später auf ein anderes DBMS angewiesen ist ohne derzeit auf alles Rücksicht nehmen möchte, weil genau der MySQL-Zugriff ausreichend ist.
Und genau das ist die Urban Legend, die ich jetzt schon drei mal versucht hab zu widerlegen. Außerdem schießt sich die Katze doch schon von vornherein selbst in den Schwanz:
  • Er baut jetzt einen Wrapper, damit er später mal das DBMS durchswitchen kann.
  • Das Projekt wächst unerwartet so, dass er ein anderes DBMS benötigt

Ja was denn nun? Entweder man erwartet/befürchtet, das DBMS wechseln zu müssen, oder eben nicht. Wenn man eh schon von vornherein den Gedanken im Hinterkopf hat, dann kann man das doch auch gleich richtig angehen, oder?

Zitat:
Zitat von yab
Nein, auch wenn man ausschließlich nur diesen MySQL-Wrapper nutzen möchte, macht das Sinn. Die Gründe wurden dir auch schon mehrfach genannt, keine Ahnung, warum du das vortwährend ignorierst.
Also ich hab den Thread jetzt eben nochmals genau studiert, und ich finde keinen einzigen Hinwaus auf diese Gründe. Selbst der TO fragt doch nach einer qualitativen Bewertung zu seinem MySQL-Wrapper. Er scheint also selbst nicht hunderprozentig sicher zu sein, dass er ihn so verwenden möchte. Wovon zum Teufel sprichst Du also? Markier mal bitte das, wovon Du denkst, dass ich es ignoriere.

Zitat:
Zitat von yab
Wenn du Ja und Ahmen hören möchtest, dann werd Priester und geh' in die Kirche
Möcht ich ja gar nicht. Ich schreib jetzt nur mindestens schon zum dritten mal das gleiche, und ich bekomm immer wieder und ohne Berücksichtigung des gesagten die selben Gegenargumente. Du verwendest in #20 exakt die selbe Argumentationslinie, wie mepeisen in #10. Dazu ist von meiner Seite einfach alles notwendige gesagt.

Zitat:
Zitat von nikosch
Wenn er jetzt statt überall DB_Mysql zu verwenden, das macht
[...]
Problem gelöst, ohne Verrenkungen, ohne tausendfaches Suchen & Ersetzen, ohne Factory-Umbau.
Jein - das stimmt sowieso nur wenn er Standard-SQL geschrieben hat. Ansonsten ist bis zu einem gewissen Grad immer suchen und ersetzen angesagt. Grundsätzlich hast Du zwar Recht, das ist einer der Standard-Anwendungsfälle. Ich behaupte nur einfach, dass es alternative Lösungsansätze gibt, die ebenfalls ihre Daseinsberechtigung haben.

Drei Gegenszenarien:
  1. Wenn er gleich z.B. PDO verwendet, dann kann er das einfacher haben. Der Fall Austausch des DBMS ist dort ja schon vorgesehen. Dort hätte er sich die Entwicklungszeit für den Wrapper und für die spätere Erweiterung erspart.
  2. Wenn er aber einfach das Interface der DB-Extension von PHP in einem eigenen Namespace nachbaut, und diesen dann in sein Projekt injeziert, ist dies auch der Fall. Er hat sich dann aber die Entwicklungszeit für den Wrapper gespart...
  3. Er könnte auch von vorn herein einen der bestehenden Wrapper einsetzen. Es gibt ja Zend_Db, AdoDb und wie sie nicht alle heißen. Auch das würde ihm die Entwicklungszeit für den Wrapper und die Erweiterung ersparen.

Alle diese Szenarien haben eines gemein:
  • jedes dieser Modelle hat einen effektiv nutzbaren Mehrwert gegenüber der Eigenentwicklung
  • jedes dieser Modelle spart Entwicklungskosten
  • jedes dieser Modelle macht es nicht notwendig,
    Zitat:
    Zitat von yab
    derzeit auf alles Rücksicht [zu] nehmen [möchte], weil genau der MySQL-Zugriff ausreichend ist.

Zitat:
Zitat von cortex
welch konstruktive aussage... i.a. führen solche pauschalisierungen zu unmut bei anderen usern, flamewars oder amokläufen.
Zur Pauschalisierung sagte ich oben schon was
Zitat:
Zitat von cortex
vielleicht bist du aber auch nur ganz besonders fortschrittlich.
War das jetzt der Amoklauf?

Gruß Jens
Jens Clasen 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
MySQL Verbindung zu fremden Server Xanatus Datenbanken 5 27.05.2009 14:13
[Erledigt] Kann keine Umlaute im mysql client eingeben Oger Datenbanken 9 02.04.2009 11:54
MySQL Konsole und Umlaute unter Windows [LÖSUNG] f4ckm5 Datenbanken 8 30.03.2009 22:10
[Erledigt] Eine klasse einbinden newWorldOrder PHP Tipps 2009 2 23.02.2009 19:32
MySQL Klasse Gödda PHP Tipps 2009 8 17.02.2009 01:56
Problem bei Umstellung auf MySQL 5 bettina Datenbanken 13 21.01.2009 10:00
tutorial mysql klassen im oop projekt phpdummi Beitragsarchiv 4 17.01.2007 20:17
MySQL - Klasse: Wie da mysql_close benutzen Igäl PHP Tipps 2006 5 01.10.2006 23:09
mysql klasse - handling mehrerer connections mrSpok PHP Tipps 2006 5 14.04.2006 01:05
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Kein Zugriff über ODBC mit der IP-Adresse auf MySql DB Datenbanken 4 09.02.2006 11:04
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql wrapper, mysql klasse sinn, php mysql pdo klasse, jens clasen php, zend_db schneidet umlaute, pdo class mysql extends my_db

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