RkBlog

Hardware, programming and astronomy tutorials and reviews.

Funkcje DBA

PHP oferuje zestaw funkcja DBA - Database Abstraction Layer. Funkcje te obsługują proste plikowe bazy danych i są dostępne zarówno w PHP 4 jak i PHP 5. Na większości serwerów funkcje te powinny być dostępne, lecz zmienna może być lista obsługiwanych przez te funkcje baz danych. W phpinfo wpis DBA wygląda mniej więcej tak:
dba1
W wierszu Supported handlers wylistowane są wspierane bazy danych. Możliwe baz danych to: Zalecam stosowanie gdbm i szybsze qdbm. W sieci dostępny jest też prosty benchmark (PDF). Dodatkowe informacje znajdziemy w manualu.

Dostępne Funkcje



Przykłady

<?php
$id = dba_open("test.db", "n", "gdbm");
if (!$id)
	{
	echo "Błąd dba_open
";
	exit;
	}
// dodajemy/zmieniamy wpis
dba_replace("klucz_czasu", time(), $id);
// wyświetlamy jeżeli wpis istnieje
if (dba_exists("klucz_czasu", $id))
	{
	echo 'Wartość z bazy: '.dba_fetch("klucz_czasu", $id);
	}
dba_close($id);
Powyższy przykład używa bazy gdbm, a folder z plikiem musi mieć prawa zapisu tak by skrypt mógł utworzyć plik bazy danych. Funkcja dba_open otwiera połączenie:
dba_open("Nazwa Pliku", "Tryb", "Typ Bazy Danych")
Gdzie Tryb to odpowiednio - r - tylko odczyt, w - odczyt i zapis, n - odczyt i zapis z wyczyszczeniem bazy przy otwieraniu. Reszta funkcji jest prosta w użyciu a cała logika tych baz danych zbliżona jest do tablic asocjacyjnych - baza ma zestawy kluczy i przypisanych im wartości. Nie ma tutaj tabel ani języka SQL.
Bazy DBA mogą być przydatne do obsługi konfiguracji aplikacji, prostych modułów jak np. statystyki przechowujące ostatnie referery. Jeżeli mamy dostęp do SQLite i chcemy stworzyć prostą aplikację opartą o bazę danych to powinniśmy wybrać właśnie tą bazę danych. DBA nie nadaje się dla większych zastosowań jak np. system artykułów i kategorii (można to zrobić lecz nie będzie to wydajna aplikacja do celów "produkcyjnych").
RkBlog

Podstawy PHP, 14 July 2008, Piotr Maliński

Comment article