Belajar ORM: Doctrine di Symfony


ORM
between ORM! & OMG!

Apa itu ORM? singkatan dari Object Relational Mapping. lebih lengkap nya silahkan di lihat di wiki tentang ORM atau pembahasan ringan di dokumen symfony tentang ORM.

Secara singkat bodoh kita bisa bercerita, bahwa ORM adalah ketika representasi Database yang kita miliki di buat (mapping) menjadi Object (class).

Jika Database punya 5 table, maka 5 table tersebut akan dibuatkan menjadi Object, yang memiliki attribute sesuai field table yang ada.

lho Mengapa harus di ubah jadi Object/Class ??

Mengapa Harus dengan ORM?

Kalau kita baca penjelasan dari symfony, penggunaan ORM akan meminimalisir ketergantungan secara langsung terhadap merek Database yang kita gunakan. Jadi, jika diperlukan beralih dari satu merek DBMS ke merek yang lain, maka tidak akan terlalu mempengaruhi coding atau bisnis proses PHP kita. Selain itu ORM juga membantu kita melakukan optimasi untuk mendapatkan query terbaik, walaupun kita tidak jago dalam hal query.

Nah, mengubah database logic yang kita miliki menjadi Object akan mempermudah penggunaannya. Karena interaksi nya akan menjadi interaksi antar Object, atau dalam bahasa framework disebut MODEL. inilah bahasa terakhir dari MVC, setelah sebelum nya kita sudah mengenal VIEW dan CONTROLLER. Semua itu saling berinteraksi dalam bentuk class-class (object).

Bagaimana penggunaan ORM di Symfony?

Sama dengan Web Framework PHP lainnya, hal-hal yang berkaitan dengan database menjadi bagian dari penggunaan Model. Pada Symfony Model dibuat menggunakan ORM dari Doctrine maupun Propel. Ini adalah 2 merek ORM yang sering digunakan pada pemrograman PHP. Kedua merek ini adalah plugin terpisah, sehingga Kita tetap bisa menggunakannya walaupun tanpa symfony. Untuk informasi lebih lanjut tentang Doctrine, silahkan dikunjungi site resmi Doctrine.

Anda tidak perlu khawatir, symfony 1.4 secara default sudah memasang Doctrine yang bisa langsung digunakan. Anda bisa check menggunakan command-prompt symfony, disana sudah ada script untuk men-generate beberapa perintah Doctrine.

Setiap Class ORM yang kita miliki, akan tersimpan di direktori /lib/model. Sedangkan konfigurasi database dan schema table bisa Anda temukan di direktori /config. Anda tidak perlu khawatir, karena symfony sudah menyediakan fasilitas generate, yang akan mempermudah kita membuat Class ORM dari Database yang kita miliki.

Penggunaan ORM, akan merubah sedikit persepsi dan gaya pengelolaan data. Query kita akan sedikit berubah, karena kita tidak akan mencari data di table lagi, tapi persepsinya data kita akan menjadi Object. Percayalah, ini akan sangat mempermudah kita dalam memahami penggunaan data, walaupun kita tidak mahir dalam hal query.

Untuk membuktikan nya, silahkan coba penggunaan ORM ini di symfony, sesuai petunjuk yang ada di chapter 8 ebook symfony.

Selamat Mencoba!

 


Leave a Reply

Your email address will not be published. Required fields are marked *