welche Software sind zu empfehlen, um PHP visuell zu programmieren?

  • Hallo Zusammen,
    ich bin Anfänger von Raspberry Pi B+ und habe fast gar keine Ahnung von PHP- bzw HTML-Programmierung, deshalb hätte ich gerne ein passendes Software, mit dem ich php visuell programmieren kann.


    Ich möchte eigentlich über PHP Webinterface, also Web control panel die GPIO-Schnittstellen ansteuern. Das web control panel soll mit PHP-Programmierungssprache erstellt werden, das Webinterface selbst ist relativ einfach, mit Munü und Buttons. Wenn ich z.B ein Button "GPIO 17 Einschalten" klicke, werden folgende Befehle auf Raspberry durchgeführt (s.g objektorientiert):


    /usr/local/bin/gpio -g export 17 out
    /usr/local/bin/gpio -g write 17 1



    Tatsächlich habe ich Quellcode von o.g Button schon, allerdings wie gesagt möchte ich mit passendem Software das Web Control Panel NUR VISUELL erstellen, ist es möglich oder muss ich alle PHP Quellcode selbst schreiben und eintippen?


    Meine Frage: wie kann man folgendes nur visuell realisieren, also nur per Maus-Klick?



    ---------------------------------------------------------------
    <html>
    <head>
    <meta name="viewport" content="width=device-width" />
    <title>GPIO über PHP schalten</title>
    </head>
    <body>
    GPIO 17 schalten:
    <form method="get" action="gpio.php">
    <input type="submit" value="Licht ein" name="Lichtein">
    <input type="submit" value="Licht aus" name="Lichtaus">
    </form>


    <?php
    $modeon17=trim(@shell_exec("/usr/local/bin/gpio -g mode 17 out"));
    if(isset($_GET['Lichtein'])){
    $val=trim(@shell_exec("/usr/local/bin/gpio -g write 17 1"));
    echo "Licht17 ist an";
    }
    else if(isset($_GET['Lichtaus'])){
    $val=trim(@shell_exec("/usr/local/bin/gpio -g write 17 0"));
    echo "Licht17 ist aus";
    }
    ?>
    </body>
    </html>
    --------------------------------------------------------------------------


    PS: Ich hab gerade ein Testversion von Adobe Dreamweaver CC installiert, leider habe ich in "Einfügen" kein Button gefunden. Außerdem weiss ich auch nicht, wie kann man "/usr/local/bin/gpio -g export 17 out" und "/usr/local/bin/gpio -g write 17 1" als Erreignis in ein Button hinzufügen.





    Ich danke euch für die Antwort im Voraus!


    Grüße
    Lee

  • Ich halte ja den Hinweis mit der Google-Suche für nicht so schön, weil gerade auf diese Frage damit keine Antwort gefunden und dem TE auch nicht wirklich weitergeholfen wird, aber naja.
    Zum Thema: Um Weboberflächen zu erstellen spielen PHP und HTML zusammen. Dabei wird das PHP-Script auf dem Server ausgeführt und generiert eine Ausgabe, die dann im Browser angezeigt wird. Es ist ein Zusammenspiel von PHP und HTML. Alle grafischen Elemente auf der Weboberfläche sind HTML-Elemente, wie sie "zusammengsetzt" werden ist PHP-Sache. Es gibt eine Menge graphischer Editoren (wysiwyg-Editoren) für Weboberflächen, keine davon nimmt Dir jedoch das Programmieren in PHP ab. Es gibt Editoren mit Codeschnipseln, aber auch die müssen angepasst werden. Als Antwort auf Deine Frage, ob es eine Möglichkeit gibt PHP grafisch zu Programmieren sage ich aus meiner Sicht nein. Ich programmiere seit über 20 Jahren unter anderem mit PHP, da ist mir sowas noch nicht untergekommen. Beim Programmieren geht es immer um Logik, das wird Dir ausser ein anderer Programmierer, keiner abnehmen können.


    EDIT: Versuche mal für Code die Codeansicht zu nehmen zumal es sogar extra eine für PHP gibt. Das sieht dann so aus:


    [code=php]<html>
    <head>
    <meta name="viewport" content="width=device-width" />
    <title>GPIO über PHP schalten</title>
    </head>
    <body>
    GPIO 17 schalten:
    <form method="get" action="gpio.php">
    <input type="submit" value="Licht ein" name="Lichtein">
    <input type="submit" value="Licht aus" name="Lichtaus">
    </form>


    <?php
    $modeon17=trim(@shell_exec("/usr/local/bin/gpio -g mode 17 out"));
    if(isset($_GET['Lichtein'])){
    $val=trim(@shell_exec("/usr/local/bin/gpio -g write 17 1"));
    echo "Licht17 ist an";
    }
    else if(isset($_GET['Lichtaus'])){
    $val=trim(@shell_exec("/usr/local/bin/gpio -g write 17 0"));
    echo "Licht17 ist aus";
    }
    ?>
    </body>
    </html>[/php]


  • Guggst du hier: http://bfy.tw/mtO



    Hallo Lunepi, danke für die Antwort!
    Ich bin eigentlich auf der Suche nach passendem grafischem PHP-Entwicklungswerkzeug.


    Grüße
    Automatisch zusammengefügt:[hr]


    danke für deine ausführliche Antwort, Raspiprojekt :-) Es ist ja Schade, dass es keine grafische PHP-Entwicklungswerkzeuge gibt.
    Du meinst, bei Dreamweaver muss ich das PHP-Quellcode auch selbst aufbauen und schreiben, durch Maus-Klick ist es nicht möglich, oder? Sogar bei einem einfachen objektorientierten Button (z. B GPIO 17 als Ausgang auf "1" setzen) muss ich die Quellcode auch selbst reinschreiben?


    Grüße
    Lee


  • Ich halte ja den Hinweis mit der Google-Suche für nicht so schön, weil gerade auf diese Frage damit keine Antwort gefunden und dem TE auch nicht wirklich weitergeholfen wird, aber naja.


    Warum? Als erstes Ergebnis kommt ein Tutorial zu IDE's für PHP inkl. 5 Empfehlungen. Was ist dein Problem?

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.


  • Warum? Als erstes Ergebnis kommt ein Tutorial zu IDE's für PHP inkl. 5 Empfehlungen. Was ist dein Problem?


    Das Problem ist, dass keine der Empfehlungen visuelles Erstellen von PHP-Code unterstützt... Die Frage ist damit also offensichtlich nicht beantwortet!?!


    Leider muss ich raspiproject zustimmen, etwas wie du es suchst gibt es nicht, weil es nicht funktioniert. Code ist nicht graphisch. Im Gegensatz zu HTML, wo soetwas möglich ist. Aber HTML ist ja auch keine Programmiersprache.

  • HTML ist eine "BeschreibungsSprache" wie der Name auch schon sagt HyperTextMarkupLanguage und kein HTML-Entwickler (oder auch Webdesigner genannt) ist der Ansicht HTML sei eine Programmiersprache. Das tun eigentlich nur Leute die gerade damit anfangen und meinen sie könnten nun programmieren. In meinen ersten 2 Wochen mit HTML dachte ich das auch noch... (das war in der Schule und das erste Mal, dass ich mit etwas zu tun hatte, das nicht per Klick funktioniert^^ und laange vor meiner Linux-Zeit (im Rahmen meines Alters))


    Das "leider" bezog sich auf den Umstand, dass wir dem Fragesteller sagen müssen, dass es nicht gibt was er sucht, nicht das ich dir zustimmen muss :-)

  • Quote

    Es ist ja Schade, dass es keine grafische PHP-Entwicklungswerkzeuge gibt.


    Doch, die gibt es, kosten aber oft verdammt viel Geld. Daher spreche ich es nicht weiter an.


    Quote

    ich bin Anfänger von Raspberry Pi B+ und habe fast gar keine Ahnung von PHP- bzw HTML-Programmierung,


    HTML = keine Programmierung. Nun zum Thema:
    genau deswegen solltest du die Finger von WYSIWYG-Editoren lassen und ins kalte Wasser springen.
    Durch langes Herumprobieren und auch durch Fehler lernt man schließlich, aber auch durch Bücher, Dokumentationen usw. (selfhtml.de oder php.net).


    Wenn man einen WYSIWYG-Editor nimmt und sich dran gewöhnt hat, kommt man nur schlecht wieder davon los.


    Also, spring ins kalte Wasser und schreibe alles per Hand, davon hast du langfristig gesehen mehr.


  • Danke für deine Hinweise und Vorschlag :-)


    noch 2 Fragen an dich:
    1) wie kann man in Dreamweaver cc ein "Button" hinzufügen?
    2) Außer PHP, gibt es andere passende Programmiersprache, um GPIO über Webinterfache bzw. Web control panel anzusteuern?


    Grüße

  • 1) ich nutze keine WYSIWYG-Editoren und kann daher auf die Frage nicht antworten.
    2) da fällt mir nur Python ein. Aber fang lieber erst mal (ohne visuellen Editor) mit PHP und HTML an =)


    Schmeiß Dreamweaver weg. Händisch hast du in 5 Sekunden raus wie man einen Button einfügt...

  • Du kannst mit (fast?) jeder Programmiersprache Webseiten basteln.
    Beliebt ist noch Ruby (vor allem mit 'Ruby on Rails'), das ist auf dem Raspberry aber garnicht üblich (ohne Grund soviel ich weiß)
    Viel Webentwicklung auf professioneller Ebene geschieht mit Java (Auf dem Raspberry glaube ich relativ langsam, habs aber nciht getestet)
    Man kann sogar mit C++ Webseiten schreiben, aber das ist irgendwie pervers...
    Sogar funktionale Sprachen ermöglichen soetwas... siehe Haskell, da gibt es ein Webframework. Aber das willst du nicht!
    Aktuell sehr in Mode ist es, Websites komplett in (Serverseitigem) JavaScript zu erstellen, aber ob das dann gut mit GPIOs funktioniert??? Keine Ahnung.
    PHP ist aber der übliche Weg im Hobby/OpenSource/Bastler/... Bereich. Einfach zu lernen, schnelle Ergebnisse, gute Tutorials, kostenlos verfügbare Serversysteme und kann alles was man braucht, erlaubt aber auch ziemlich hässliche Konstrukte...
    Automatisch zusammengefügt:[hr]
    Wenn du Probleme mit dem Layout hast (dass es auch ein erkennbarer Button ist, dass es vernünftig angeordnet wird etc) dann kannst du dir mal CSS-Frameworks wie bootstrap (getbootstrap.com) angucken. Aber es wäre nicht schlecht, wenn du die Grundlagen von JavaScript (inklusive JQuery), CSS und HTML beherrscht, bevor du das benutzt.

  • Was ist denn serverseitiges javascript??
    Soweit ich weiß läuft ein javascript immer auf dem Client?


    Ich Skripte auch gerne mit HTML, CSS, php, javascript. Das ganze aber ausschließlich nur im notepad++.
    Ich kann von grafischen Editoren wie dreamweaver auch nur abraten.. Da kommt meist ein unschöner, wirrer Code raus in dem man nicht so schnell durchblickt..
    Den Fehler hatte ich zu anfang auch gemacht, am besten ist wirklich alles im Editor selbst zu schreiben. Dann weist du auch was du tust und lernst auch was dabei (im Gegensatz zum "zusammenklicken" im dreamweaver)


    Viele grüße

  • Am besten WYSIWYG-Editoren und Frameworks komplett weglassen.
    Das einzige Framework, welches man später nutzen kann insofern man sich gut genug ausgekennt, ist jQuery.
    Aber Frameworks nehmen einem auch die eigentliche Arbeit ab und demnach lernt man wieder nichts.


    Ich würde so anfangen.. HTML und CSS mit ein wenig PHP. JavaScript würde ich erst mal komplett weglassen.


    Das Problem an Frameworks ist, dass man sich ein Schlachtschiff an Code zulegt, obwohl man nur wenige Zeilen davon braucht.

  • real_Napster:
    Serverseitiges JS: https://de.wikipedia.org/wiki/Node.js
    Frag mich nicht WIE das funktioniert, ich habs nie verwendet.


    Ja, Frameworks sind genial, wenn man es auch selbst könnte, weil sie meistens an mehr Spezialfälle denken und Arbeit ersparen. Aber eigentlich sollte man die wirklich erst verwenden, wenn man es auch selbst machen könnte. Und gute Frameworks lassen sich auch Stückweise verwenden und nicht nur als ganzes.
    bootstrap ist meiner Ansicht nach eine halb-Ausnahme. Man sollte CSS/JS schon grundliegend können, aber ansonsten nimmt einem bootstrap größtenteils Layout-Kram ab. Etwas was ich absolut hasse (vielleicht beeinflusst das auch meine Ansicht dazu^^).
    Leider ist JQuery ein rießiges Framework wenn man bedenkt, dass es ständig neu geladen werden muss, gerade auf smartphones. (Bootstrap nutzt jQuery, hat damit diesen Nachteil auch)