// Neues von Don´s Rapid-Engine

{Bloginternes}
24.09.2009
DonTermi
Seit dem letzten Beitrag sind ja schon wieder stolze 7 Monate vergangen in den sich aber eine ganze Menge, zumindest für meine Verhältnisse getan, hat.
Der Code der Rapid-Engine wurde im März von mir noch einmal vollständig reviewed und Anpassungen vorgenommen. Zwischendurch versuchte ich zur bisherigen MySQL Klasse eine Active Record Erweiterung zu erstellen. Der Anfang mit einfachen Abfragen wie

$Testtabelle = $this->dbo->Testtabelle;
$Testtabelle->findAllByName(array('conditions' => 'Name=?', array('Test1', 'Test2')));


Klappte relativ gut. Diese Abfrage wurde dann in der ARP Extension nach
SELECT * FROM Testtabelle WHERE Name IN ('Test1', 'Test2');


zurück übersetzt. Aber bei schwierigeren und komplexeren Abfragen wurde der Aufbau dieser "vereinfachten" Abfragen zu schwierig und am Ende total unübersichtlich. Sicherlich wäre dann ein einfacheres Handling evtl. möglich gewesen Daten im Result zu ändern, aber ARP ist einfach eine zu komplexe Welt um dies in relativ kurzer Zeit als Einzelkämpfer zu bewältigen.
Daher habe ich die ARP Extension komplett wieder entfernt und benutze für MySQL wieder die native Statements, die doch schlicht und ergreifend wesentlich übersichtlicher und flexibler gestaltet werden können und mit dem richtigen Coding Style auch bei größeren Abfrage doch recht gut zu lesen sind.

Vor kurzem bin ich dazu übergegangen Don´s Rapid-Engine von den Projekten, die dieses Framework nutzen, zu "entkoppeln". Das bedeutet die Engine läuft in einem eigenständigen Verzeichnis getrennt vom eigentlichen Projekt. Dies ist zudem komplett per htaccess verriegelt. Und wie kann man es trotzdem nutzen? Ganz einfach! per htaccess im Projektordner mit dem Paramter

php_value include_path


Dabei setzt man das Projekt an die erste Stelle und die Rapid-Engine danach. Die Dateien brauch man dann nur noch relativ einbinden.
Vorteile? Eine ganze Menge!
Zum ersten, wenn man mehere Projekte hat, brauch man ein Engine-Update nur an einer Stelle einspielen und alle Projekte profitieren sofort von dem Update.
Zum zweiten kann es beim Updaten der Core Files des Frameworks nicht passieren das man irgendwelche Projektdateien versehentlich überschreibt.

Übersicht der main-libs und deren Entwicklungsstand:

session.php - 95%
Features:
- mehrstufige Sicherheitsprüfungen gehen hijacking
- permanent wechselnde Session Id
- mehrstufige Prüfungen ob man evtl bei einem ISP mit transparentem Proxy ist bei dem es vorkommen kann das plötzlich die IP wechselt und die Session dadurch geschlossen wird
- Features frei konfigurierbar
ToDo:
* fehlt noch die Implementierung das man cookie-Benutzung erzwingen kann


model.php - Hauptsteuerung der DBO´s
- MySQL - 98%
Features:
- unterstützt die Verbindung zu meheren MysQL Servern/Datenbanken gleichzeitig
- automatisches anpingen und reconnecten bei einem Query
- Caching von Abfragen
- halbautomatisches Maskieren
ToDo:
- Maskiermechanismus etwas feintunen

mailer.php - 100%
Features:
- versenden von Mails über php mail()
- unterstüzt text/plain und text/html in allen möglichen Kombinationen
- versenden von HTML-Mails mit eingebetteten Elementen und/oder Anhängen
- text/plain Mails mit Anhängen
- automatisches mime kodieren von Header Element je nach eingestelltem Character Set

imap.php - 25% Expermimentell
Features:
- connecten zu einem IMAP/POP3 Postfach
- auflisten der darin befindlichen E-Mails
ToDo:
* noch eine ganze Menge



Falls noch jemand Fragen hat kann er sie gern hier in den Comments hinterlassen.



:: Kommentieren / Rumsabbeln
Name (benötigt)
E-Mail (freiwllig, keine Veröffentlichung)
Homepage (freiwillig)

Bitte anklicken! (SPAM-Schutz + Turing-Test)