Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin mit PHP

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] Plugin mit PHP

    Da in einem anderen Thread gerade sowas angeklungen ist:

    Wäre es theoretisch möglich seine Logiken auch über PHP-Skripte zu realisieren?

    (Ich bitte darum, die "Bäähh, schei* PHP"-Zwischenrufe zu lassen, mir ist bewusst das die Sprache ihre Macken hat, aber ich bin nunmal Webentwickler von Beruf und da hat man sich halt dran gewöhnt )

    Grüße
    Christian

    #2
    Naja, die Wahl fiel nun nicht auf PHP, es ist drauf aber die Plugins werden als eval im Perl-Interpreter ausgeführt. Bliebe das ausführen mit `php5-cli ...` und die Augabe nehmen (jedoch reichlich Knie->Brust->Auge..)

    Aber mal ganz ehrlich, das ist doch eh alles dieselbe Suppe: Für syntaktische Feinheiten muss man ein bisschen Umschalten, den Rest sagt einem Tante Google, ich denke wer in PHP brauchbare Scripts programmieren kann, kann das auch in Perl, Python, VB oder C(++)..

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    Kommentar


      #3
      Zitat von makki Beitrag anzeigen
      [...]Aber mal ganz ehrlich, das ist doch eh alles dieselbe Suppe[...]
      Ja, das stimmt schon ein wenig... es haben sich nur hier über die Jahre haufenweise teils richtig gute Skript-Sammlungen und Bibliotheken angesammelt, die man dann schön hätte wiederverwenden können.

      Naja seis drum, lern ich halt schnell Perl... da fällt mir ein, war da nicht was mit Weihnachten demnächst? Hat jemand ne spontane Buch-Empfehlung zum Thema?

      Kommentar


        #4
        Hoi

        Ich hab' mir auch einige Perl Bücher gekauft und schaue jetzt lieber bei Tante Google nach. Das geht meist schneller.
        Perl-Programmierung
        SELFHTML: Perl / Perl-Sprachelemente / Regulre Ausdrcke
        usw.
        Grüsse Bodo
        Fragen gehören ins Forum, und nicht in mein Postfach;
        EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

        Kommentar


          #5
          Perl programming documentation - perldoc.perl.org nicht zu vergessen und eben Tante Google;
          wenn man nun nicht gerade den Unterschied zwischen Variablen und Funktionen erlernen will, zusammen IMHO erheblich schneller und einfacher als jedes Buch..
          Dazu die Beispiele vorhandener WireGate Perl-Plugins

          Makki
          EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
          -> Bitte KEINE PNs!

          Kommentar


            #6
            Zitat von amaridian Beitrag anzeigen
            Wäre es theoretisch möglich seine Logiken auch über PHP-Skripte zu realisieren?
            Mit den Plugins nein (bzw. CLI Umweg, von der Performance ein Graus!), ist ja schon gesagt worden.

            Wie bei zukünftigen LogikEngines andere Sprachen eingebettet werden ist eine andere Sache. Hier habe ich durchaus Sympathien für PHP. Aber hier sprechen wir über Entwicklungen die noch nicht mal gestartet sind und erst mal nicht mit dem WireGate oder ElabNet zu tun haben. Wer darauf wartet ist blöd.
            Zitat von makki Beitrag anzeigen
            Aber mal ganz ehrlich, das ist doch eh alles dieselbe Suppe: Für syntaktische Feinheiten muss man ein bisschen Umschalten,
            Um hier keinen sinnlosen Flame-War zu starten, der eh keine Lösung hat, nur ein persönlicher Eindruck von mir:

            Ich verzweifel jedes mal wieder über den $, % und # für Arrays, Hashs, Referenzen darauf, ... - da wäre ich oft schon mit dem PHP durch gewesen als ich beim Perl noch mit Google-Hilfe probiert habe meine Datenstruktur zum Laufen zu bringen.
            TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

            Kommentar


              #7
              Zitat von Chris M. Beitrag anzeigen
              Mit den Plugins nein (bzw. CLI Umweg, von der Performance ein Graus!), ist ja schon gesagt worden.
              Sicher nicht die Optimal-Lösung (hier, im ursprünglichen Kontext wird Text vom PHP gelesen und dann als Text weitergegeben, das ist natürlich nicht so ganz die "Optimal-Lösung") aber so grausam ist das garnicht; es gäbe Mittel&Wege (womit wir wieder bei fcgi wären, mit dem kleinen Fehler: das wurde nicht für sowas gemacht! Das verbrät man eine Menge knappen RAM um 50ms reichliche CPU zu sparen.. und handelt sich kostenlos ein paar handfeste gedankliche Stolperfallen ein, fcgi ist halt wie Threads³ - ohne Threads zu haben und zu wissen wo man gerade wie läuft [was man bei threads wenigstens wissen könnte, wenn man wollte])

              Ich verzweifel jedes mal wieder über den $, % und # für Arrays, Hashs, Referenzen darauf,
              Naja, das findet keiner sinnvoll, logisch oder gar intuitiv Oder Perl als der Weisheit letzter Schluss, nur ist es eben so das man auch mal nach 1h googeln was runterschreiben kann wenn man sonst nur eher wenig mit Programmierung zu tun hat..
              Hat eben alles seine Vor und Nachteile..

              Makki
              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
              -> Bitte KEINE PNs!

              Kommentar


                #8
                Zitat von Chris M. Beitrag anzeigen
                Mit den Plugins nein (bzw. CLI Umweg, von der Performance ein Graus!), ist ja schon gesagt worden.
                Kann das Perl-Modul PHP::Interpreter ( PHP::Interpreter - search.cpan.org ) nicht benutzt werden?

                /Per

                Kommentar


                  #9
                  Ein Aufruf von my $dummy = `php5 /somewhere/whatever.php`dürfte erheblich effizienter sein..

                  Makki
                  EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                  -> Bitte KEINE PNs!

                  Kommentar


                    #10
                    OK. Ich hatte vor, diese Klasse zu integrieren:

                    www.ip-symcon.de/wiki/PHPSonos

                    um mein Sonos-System zu kontrollieren. Dann müsste ich verschiedene funktionen dieser Klasse aufrufen und Parameter zwischen Perl und PHP überführen.

                    /Per

                    Kommentar


                      #11
                      Makki,

                      Weißt du ob PPH::Intepreter im Plugin-System vom Wiregate funktioniert? Ich müsste "include()" benützen um Zugang zu PHPSonos zu bekommen, und dann die entsprechenden Funktionen anrufen.

                      /Per

                      Kommentar


                        #12
                        Wenn man sich die Klasse so anschaut und mal die ganzen Dokumentations-Statements und Kommentare abzieht bleibt da garnicht so viel über...

                        evtl. würde es sich lohnen die Statements die man tatsächlich braucht nach Perl zu portieren.

                        Grüße
                        Christian

                        Kommentar


                          #13
                          Keine Ahnung ob das geht, die allgemeine Erfahrung mit cpan-Modulen ist aber eher: oft grottig, viel Speicherleck, wenig gut.
                          Ist halt auch ein bisschen "Wild" im Perl-eval einen PHP-interpreter zu starten..
                          Sinnvoller ist ausm Bauch ein externer Aufruf oder eben die Suppe für Sonos in Perl zu implementieren, das sind unterm Strich eine Handvoll HTTP-POST wie mir das aussieht, da brauch ich keine PHP-Klasse für (Ausser es ist eben auch die Umgebung PHP..)

                          Makki
                          EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                          -> Bitte KEINE PNs!

                          Kommentar


                            #14
                            Ich benutze auch die PHP-Sonos Klasse aus dem ip-symcon Forum und rufe die aus Perl heraus auf (zwar von mh aus auf einem FitPC2 der vielleicht etwas mehr Performance hat) funktioniert tadellos!
                            Ich rufe dazu einfach mit qx() ein weiteres php-Script auf, dass dann die sonos klasse benutzt.
                            Gruß,
                            Marc

                            Kommentar


                              #15
                              Vielen Dank für den Hinweis! Werde ich probieren!

                              Gelingt es dir dann auch, Parameter zwischen Perl und php zu austauschen?

                              /Per

                              Kommentar

                              Lädt...
                              X