PHP-Fusion-GERMANY / PHP-Fusion

Vom deutschen Team weiterentwickelter Fork
http://phpfusion-deutschland.de
6 stars 3 forks source link

Datenbankverbindung #1

Closed Webmeteor closed 8 years ago

Webmeteor commented 8 years ago

Welche Datenbankverbindung wollen wir nehmen?

mysqli? oder pdo?

Beides hat Vor- und Nachteile. Bei beiden kann es passieren, dass einige Infusionen nicht mehr korrekt funktionieren, gerade wenn mysql_insert_id() aufgerufen wird.

Bei PDO müssen alle Infusionen auf Prepared Statements überprüft werden und gegebenfalls entsprechend nachgerüstet werden.

Bei mysqli werden Datenbankaufrufe innerhalb von foreach oder while Schleifen nicht mehr funktionieren.

Zwei neue Funktionen würden dazu kommen (egal für welche Art der Verbindung entschieden wird). dblastid() damit man die letzte Auto_Increment ID bekommt dbtableexists($table) um zu prüfen, ob eine Datenbanktabelle überhaupt vorhanden ist (gerade bei pdo oft zu gebrauchen)

Die Funktionen dann am besten aus der maincore.php auslagern in eine extra Datei.

Layzee0815 commented 8 years ago

Also zunächstmal darf man nicht vergessen, dass die V7 und die dafür geschriebenen Addons schon einige Jährchen auf dem Buckel haben. Alles Andere, was ja als Basis für den Betrieb eines CMS notwendig ist, hat sich in dieser Zeit zum Teil massiv weiterentwickelt.

Wir werden also spätestens mittelfrisitg ohnehin nicht drumherum kommen, dass viele Infusionen im Nachgang modernisiert werden müssen. Hier sehe ich aber auch die Entwickler der Addons in der Pflicht. Ich bin für PDO, weil while und foreach-Schleifen sich jahrelang etabliert haben und ich denke dass viele diese Abfragen auch gerne weiterhin nutzen würden (ich eingeschlossen).

Kannst du mir grad einen schlüssigen Grund nennen warum die DB-Functions ausgelagert werden sollen? Kann ich grad nicht direkt nachvollziehen?!

Webmeteor commented 8 years ago

Macht die maincore.php etwas übersichtlicher.

Sind bei PDO so ca. 100 Codezeilen

Und man kann diese dann auch im setup integrieren. Denn dort steht ja auch noch mysql Code

Layzee0815 commented 8 years ago

Ich sehe zwar immer noch keinen zwingenden Grund, aber ok, es spricht ja auch letztendlich nix dagegen ;)

SGIFusion commented 8 years ago

Nun ja ob die ein oder anderen Infusionen in die Zeit gegangen sind nachgerüstet wurde bei den anspruchsvollen 3rd Addons ja nicht wirklich und da sich immer mehr aus der Szene verabschiedet oder sich gar selber auf Eis gelegt haben könnte man es so sehen das man einiges vielleicht wenn die Zeit dazu ist top 3rd addons nachrüstet (eben diese dienge die richtig gefragt sind), alles andere wird denke ich dann von selber hinterher ziehen.

Was neues Moderneres muss auf alle fälle her denn man kann ja nicht wieder nach dem Motto alte dinge weiterbeibehalten die aus der Zeit sind.

Webmeteor commented 8 years ago

includes/pdo_database_driver.php

SGIFusion commented 8 years ago

was mir jetzt noch auf der zunge liegt ist folgendes wenn wir das gesamtpaket Modernisieren wird die anforderung doch rein logischerweise auch höher sein als

PHP 5.2.17 und 5.3.28 sogesehen dann erst ab: PHP 5.4.45, 5.5.35, 5.6.21 bis hin zur 7.0.6

ist ne doof gestellte frage aber im moment denke ich da an die variablen etc.

iPaat commented 8 years ago

Die Datenbank wurde in #19 umgestellt.