Penggunaan Doctrine 2 Reverse Engineering Pada Zend Framework

Saya selalu menggunakan pustaka Bisna untuk mengintegrasikan Doctrine 2.X dengan Zend Framework 1.X. Pustaka ini diprakarsai oleh Guilherme Blanco seorang Open Source Evangelist dan Software Engineer di Yahoo!.

Point yang paling penting pada Doctrine 2 ORM adalah entity. Entity merupakan PHP Class yang menjadi mapper dengan tabel di database. Untuk project kecil dengan jumlah tabel yang sedikit membuat entity secara manual tidaklah sulit. Akan tetapi pada project besar dengan jumlah tabel yang tidak sedikit dengan relasi yang kompleks tentu membuat entity secara manual bukan hal yang mudah. Akan lebih mudah jika kita mendesain tabel tersebut dengan tools untuk database seperti MySQL Workbench, lalu menjadikannya tabel di database, kemudian membuat entity dengan melakukan reverse engineering dengan bantuan Doctrine Console.

Pustaka Bisna sudah menyediakan Doctrine Console yaitu bin/doctrine.php. Untuk melakukan reverse engineering, gunakan perintah - perintah berikut:

$ php doctrine orm:convert-mapping --from-database annotation /path/to/mapping-path-converted-to-annotation

/path/to/mapping-path-converted-to-annotation harus sama dengan mappingDirs yang terdapat pada konfigurasi application/configs/application.ini (lihat baris 126)

Doctrine Console akan menghasilkan beberapa file PHP, yang masing - masing file berisi sebuah class beserta property yang merupakan mapping dari database. Dan class - class tersebut sudah bisa digunakan sebagai entity untuk Doctrine 2 ORM. Akan tetapi class - class tersebut belum mempunyai getter dan setter. Untuk menambahkannya bisa dilakukan dengan

$ php doctrine orm:generate-entities --generate-annotations=1 /path/to/entity

/path/to/entity harus sama dengan mappingNamespace yang terdapat pada konfigurasi application/configs/application.ini (lihat baris 125)

Penggunaan Doctrine Console di atas sudah cukup untuk mendapatkan entity dengan reverse engineering. Dan jika ingin mendapatkan mapping dalam bentuk xml ataupun yaml cukup dengan mengganti tipe dari mapping pada penggunaan convert-mapping

$ php doctrine orm:convert-mapping --from-database xml /path/to/mapping-path-converted-to-xml
$ php doctrine orm:convert-mapping --from-database yaml /path/to/mapping-path-converted-to-yaml

Dan untuk menghasilkan entity dari mapping yang berupa xml ataupun yaml maka harus mengganti driver yang digunakan application/configs/application.ini (lihat baris 124). Ganti dengan

"Doctrine\ORM\Mapping\Driver\XmlDriver"

atau

"Doctrine\ORM\Mapping\Driver\YamlDriver"

Kemudian gunakan Doctrine Console

$ php doctrine orm:generate-entities --generate-annotations=1 /path/to/entity

Comments

mas/pak/om/mbak/bu/tante

mas/pak/om/mbak/bu/tante .....
lagi binggung nih, dah bolak-balik baca manual doctrine + zend, baik di web offical y, atau pun di sini tapi masih aja gak paham.
gimana sih bikin koneksi yg bener tuh framework + orm buat kebutuhan develop.

bisa gak klo di kasih contoh script semacam rental vcd / blog sederhana gitu, ya tentu ya di dalam script y ada dokumentasi komentar y juga biar gak binggung, klo perlu di ulas lebih di blog http://dollyaswin.net ini.

terima kasih.
nb : semoga segera di baca komentar ini dan segera di realisasikan permintaan ane ^_^
- salam kenal ( dari org yg pengen belajar )

Kirim Komentar

Tidak akan dipublikasikan
  • Alamat web dan email dirubah menjadi hyperlink secara otomatis
  • Tag HTML yang diizinkan: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Baris baru maupun paragraph dipisahkan secara otomatis

Informasi lebih lanjut tentang format pesan