Funkce SQLite se rozšiřují pomocí PHP

MyEgo.cz

home foto blogy mywindows.cz kontakt

Funkce SQLite se rozšiřují pomocí PHP

PHP 23.10.04

SQLite je ještě lepší, než jsem čekal. Nejenom má v 200KB podporu pro triggery a views, ale její SQL příkazy a funkce je díky integraci s PHP možno rozšiřovat o libovolné callbacky (na PHP funkce).

Pokud tedy SQLite nemá funkci UNIX_TIMESTAMP(), která převede string na UNIX-like datum (počet sekund od 1.1.1970), tak si ji nadefinujete v PHP, registrujete pro SQLite, a používáte ji potom zcela normálně ve Vašich SQL příkazech.

Například takto můžete SQLite rozšířit o podporu pár funkcí, které oproti MySQL nativně nemá:

sqlite_create_function($db,'UNIX_TIMESTAMP','strtotime',1);
sqlite_create_function($db,'NOW','time',0);
sqlite_create_function($db,'DAYOFMONTH','_day',1);
sqlite_create_function($db,'MONTH','_month',1);
sqlite_create_function($db,'YEAR','_year',1);
sqlite_create_function($db,'SUBSTRING','substr',3);

function _day($time) {
	return date("d",strtotime($time));
}
function _month($time) {
	return date("m",strtotime($time));
}
function _year($time) {
	return date("y",strtotime($time));
}