Na początek kilka zdań o tym co to takiego w ogóle jest.
ORM (ang. Object-Relational Mapping) to z angielskiego mapowanie obiektowo-relacyjne. Główną ideą tego wzorca jest projektowanie aplikacji w taki sposób, aby operacje z bazą danych (np.) można było przedstawić w postaci obiektów. Postaram się wytłumaczyć to trochę łopatologicznie.
Załóżmy, że mamy dwie tabele w bazie danych – posts i users. Pierwsza przechowuje nasze wpisy w jakimś systemie, a druga – użytkowników tego systemu. Ich struktura jest następująca:
`posts`
id INT(11) NOT NULL AI PRIMARY,
user_id INT(11) NOT NULL,
title VARCHAR(255),
content TEXT,
date INT(11),
oraz
`users`
id INT(11) NOT NULL AI PRIMARY,
username VARCHAR(16),
password VARCHAR(128),
email VARCHAR(128)
Dzięki zastosowaniu ORM do korzystania z tak utworzonych tabel możemy po krótkiej konfiguracji eksploatować następujący kod:
<?php $post = $post->find(2); $post->title = 'Poprawiony tytuł!'; $post->content = nl2br($post->content); $post->save(); echo $post->user->username; ?>
Powyższy przykład przedstawia oba słowa klucze w nazwie ORM – obiekt i relacja. Obiekt, bo możemy korzystać z pól rekordu jakbyśmy korzystali z klasy, a relacja, bo możemy korzystać z tabel z którymi dana tabela się łączy w bardzo prosty sposób.
To tyle tytułem wstępu. Warto dodać, że stosowanie ORM znacznie upraszcza poziom zapytań do bazy na rzecz ich ilości. Z mojego doświadczenie mogę napisać, że dzięki temu zabiegowi zyskujemy trochę na wydajności.
W drugiej części znajdzie się już gotowy poradnik – jak przenieść to na Kohana Framework.