Schulung, Beratung und Entwicklung

Glück IT

Gesellschaft für IT Beratung, Schulung und Entwicklung

NEWS

Content Management System ®CMAssist

plPHP - PHP für PostgreSQL

PHP ist eine sehr verbreitete Skriptsprache - PostgreSQL ist ein objektrelationales Datenbank Management System. Warum also nicht beides vereinen?

Bisher war es nur möglich mit PHP auf PostgreSQL zuzugreifen.
Jetzt hat sich das Blatt gewendet und Sie haben die Möglichkeit Funktionen und Trigger in PostgreSQL in PHP zu verfassen.
Ein Vorteil von PostgreSQL war immer, dass Funktionen und Trigger in verschiedenen Sprachen verfasst werden konnten (pgSQL, Pyton, Ruby...). Jetzt ist PHP als einfachste Anwendung dazu gekommen.

CREATE OR REPLACE FUNCTION set_var(text) RETURNS text AS '
global $_SHARED;
$_SHARED[''first'']=$args[0];
return ''ok'';
' LANGUAGE plphp

CREATE OR REPLACE FUNCTION get_var() RETURNS text AS '
global $_SHARED;
return $_SHARED[''first''];
' LANGUAGE plphp;

SELECT set_var('hello plphp');
SELECT get_var(); //will return "hello plphp" in our example

Es lassen sich auch sehr einfach Datensätze als Ergebnis zurück geben:

CREATE TYPE __testsetphp AS (f1 integer, f2 text, f3 text);

CREATE OR REPLACE FUNCTION php_set(integer) RETURNS SETOF __testsetphp AS '
$ret[0][0]=$args[0];
$ret[0][1]="hello";
$ret[0][2]="world";
$ret[1][0]=2*$args[0];
$ret[1][1]="hello";
$ret[1][2]="postgres";
$ret[2][0]=3*$args[0];
$ret[2][1]="hello";
$ret[2][2]="plphp";
return $ret;
' LANGUAGE 'plphp';

SELECT * FROM php_set(1);

Das Ergebnis sieht dann wie folgt aus:

f1 f2 f3
1 hello world
2 hello postgres
3 hello plphp