baseportal
Suche: 
 Forum   Start 

PHP

Nur Miete ab Version 2 

baseportal Perl & PHP


  1. Perl und PHP mit Tags einbinden
  2. <perl>
    out "hier ist Perl...<br>";
    </perl>
    
    <php>
    out("hier ist PHP...");
    </php>
    
    PHP wird genauso wie Perl mit entsprechenden Tags eingebunden. "out" steht auch in PHP zur Verfügung, es müssen allerdings immer Klammern um die Ausgabe stehen.

    Ausgabe:

    hier ist Perl...
    hier ist PHP...

  3. Perl von PHP aus aufrufen
  4. <php>
    perl('$x=5;');
    </php>
    Wert von x: $x
    
    Perl wird von PHP aus aufgerufen und die Variable $x gesetzt - diese kann nun ausserhalb von PHP abgerufen werden.

    Ausgabe:

    Wert von x: 5

  5. Perl von PHP aus aufrufen, Datenbank abfragen und Wert zurückgeben
  6. <php>
    $x=perl('get "range=0,1", "php_test"; return $Name');
    out($x);
    </php>
    
    Perl wird von PHP aus aufgerufen, der erste Eintrag der Datenbank "test" abgefragt und das Feld "Name" zurückgegeben. Zurück in PHP wird der Rückgabewert ausgegeben.

    Ausgabe:

    Hans

  7. Perl von PHP aus aufrufen, Datenbank abfragen und in Perl darauf zugreifen
  8. <php>
    perl('get "Id==*", "php_test"');
    </php>
    
    <perl>
    while(get_next "php_test")
    {
      out "$Name - $Text<br>";
    }
    </perl>
    
    Perl wird von PHP aus aufgerufen und die komplette Datenbank "test" ausgelesen. Da dies alles in Perl passiert, kann sie, zurück in Perl, dann ausgegeben werden.

    Ausgabe:

    Hans - Und sein Text...
    Stefan - Ja, so gehts... ;-)
    Andrea - Genau so läufts!

  9. PHP von Perl aufrufen und Wert zurückgeben
  10. <perl>
    $x=php 'return phpversion();';
    out "PHP-Version: $x";
    </perl>
    
    Von Perl aus wird PHP aufgerufen und die Versionsnummer von PHP zurückgegeben. In Perl wird sie dann ausgegeben.

    Ausgabe:

    PHP-Version: 4.2.3

  11. get / get_next in PHP
  12. <php>
    get("Name>a", "php_test");
    
    while(get_next("php_test"))
    {
      out("$Name - $Text<br>");
    }
    </php>
    
    Genauso wie in baseportal gewohnt, werden auch in PHP Datenbanken abgefragt. Hier werden alle Einträge von "test" mit "Name" > "b" geholt und mit "get_next" durchlaufen. Der obige Code funktioniert sowohl in Perl, als auch in PHP.

    Ausgabe:

    Hans - Und sein Text...
    Stefan - Ja, so gehts... ;-)

  13. put / mod / del in PHP
  14. <php>
    put(array("Name", "Josef", "Text", "und Text..."), "php_test");
    get("Name==Josef", "php_test"); out("Text: $Text<br>");
    
    mod("Name==Josef", array("Text", "was anderes ;-)"), "php_test");
    get("Name==Josef", "php_test"); out("Text: $Text<br>");
    
    del("Name==Josef", "php_test");
    </php>
    
    In PHP muss zur Übergabe einer Liste array davor geschrieben werden. Ansonsten funktioniert alles wie in Perl.

    Ausgabe:

    Text: und Text...
    Text: was anderes ;-)

  15. do_all in PHP
  16. <perl>$_get{cmd}="";</perl>
    <php>
    do_all("db=php_test");
    </php>
    
    Natürlich gibt es auch das do_all in PHP (Die Links sind deaktiviert, damit nicht jeder die Datenbank ändern kann).

    Ausgabe:

     Alles  Neu  Suchen  Auswahl  Ändern  Detail 

    3 Einträge gesamt: 

    AktionNameText
    Ändern | LöschenHansUnd sein Text...
    Ändern | LöschenStefanJa, so gehts... ;-)
    Ändern | LöschenAndreaGenau so läufts!

  17. Geschwindigkeit
  18. Das Ganze geschieht natürlich schön schnell, wie von baseportal gewohnt... ;-)

    Hier wird diese Seite in Echtzeit ausgegeben:

    http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo

    Ganz unten steht die Laufzeit.

    Allerdings benötigt das Umschalten zwischen Perl und PHP und das Übertragen der Werte (z.B. bei Datenbank-Abfragen) auch Zeit, so dass man es soweit möglich reduzieren sollte. Diese Seite komplett in Perl gelöst benötigt z.B. nur die Hälfte der Zeit.


  19. Garantie
  20. php in baseportal ist stark abhängig vom verwendeten Apache, so das nicht garantiert werden kann, das alle Befehle ausgeführt werden können.
    Auch kann es sein, das php auf fremden Servern gar nicht funktioniert.


Letzte Änderung am 18.8.2009, 21:06 - Stichworte: PHP

c - o - + 
© baseportal GmbH. Alle Rechte vorbehalten.


powered in 0.02s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!