[PHP] serverübergreifendes datenbankgestütztes array

  • ich hat grad lange weile und was lustiges entdeckt. das arrayaccess interface! damit bissl rumgespielt, kurz drüber gelesen und mal eben was fix zusammen gebastelt.

    herraus gekommen ist nen codeschnipsel, was halt ein normalen arrayumgang wie gewohnt in php erlaubt und das ganze eben in einer db gespeichert wird.
    damit sind geschichten möglich, das zwei getrennte webserver über eine datenbank permanent den selben array inhalt zur verfügung haben. das könnte man zb für ein projektübergreifendes sessionsystem gebrauchen. dazu müsste man sicherlich das ganze noch etwas ausbauen, mit table lock arbeiten und sone kleinigkeiten. vielleicht interessierts ja den einen oder anderen! ;)

    hier mal der fix geschriebene code

    genutzt wird das ganze dann wie folgt:

    PHP
    $arrayname = new WWA("arrayname");
    $arrayname["value"] = "läuft";
    
    
    echo $arrayname["value"];
    
    
    // zum löschen aus der db
    $arrayname->destroy();

    man sollte in der derzeitigen fassung es allerdings vermeiden, da ne riesige schleife draufzulegen, dass man da eben 1000 einträge reinschreibt :D das wären dann eben auch 1000 queries, das kann man ja aber noch optimieren, wenn mans braucht ;D

  • ArrayAccess kanntest du nicht? Gibt auch noch andere lustige Interfaces, für Iteratoren oder zählbare Objekte, enorm praktisch für eigene Datenstrukturen. Aber auch enorm gefährlich, prinzipiell verstecken derartige Templates nur Komplexität.

    In deinem Fall würd ich sogar empfehlen Iterator und Coutable ebenfalls zu implementieren, dann kann man auch foreach() und count() drüberjagen.

  • nope, dass es die vorgefertigten interfaces gibt wusst ich nicht.
    aber was soll daran konkret gefährlich sein? wegen der performance oder was?

    die iterator und countable sollte ja nicht das problem sein, wenn ich die tage nochmal muse und zeit find, sollte das kein big deal sein!

    ich frag mich nur grad, was passiert, wenn da jetzt nen count drüber jagt?

  • Zitat von ggeretsae

    wegen der performance oder was?


    Ja - wenn der Programmierer nicht weiss, dass bei dem Array-Aufruf nen Shitload an Funktionen aufgerufen werden, kann sowas gerne mal in die Hose gehen.

    Bei C++, wo die Idee ja von den PHP-Leuten geborgt wurde, findest du im Internet sicherlich ein paar Beiträge über Templates und wie man sich damit in den Fuss schiessen kann.

  • Da steht bislang nur Spam! Das wird sich dann aber hoffentlich noch ändern...

    Der Spruch war auf den Post obendrüber gedacht. Werd das vlt überarbeiten sollte da Müll von mir geposted worden sein...

    Chris

    --

    "Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, daß er genug davon habe."(René Descartes)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!