Symfony Apps
Di Post-an saya sebelum nya kita udah lihat sekilas tentang symfony, dan atas permintaan beberapa teman akhirnya saya putus kan untuk sedikit lebih mendetail tentang perintah perintah nya.
Kemarin kita membahas mengenai aplikasi untuk mereview film, mari kita lanjutkan pembahasan kemarin.
Lakukan ini di konsole / command prompt di directory tempat kita menyimpan symfony.
%SYMFONY% adalah tempat kita menyimpan symfony
langkah pertama ada inisialisasi module di symfony
C:\>%SYMFONY%\symfony init-app samples
Movie One to Many Review
User One to Many Review
Review Many to One User
Review Many to One Movie
maka kita akan mendapatkan rancangan database seperti ini :
Perhatikan di aplikasi diatas table name untuk user adalah sf_guard_user, sf_guard_user adalah salah satu table yang di gunakan oleh sfGuardUser salah satu plugin symfony, plugin ini di gunakan untuk authorisasi user.
langkah selanjut nya adalah merubah file yang ada di config/schema.yml menjadi seperti ini :
---
propel:
movie:
_attributes: { phpName: Movie }
id:
movie_name: varchar(50)
movie_synopsis: longvarchar
movie_released: date
movie_produsen: varchar(100)
movie_director: varchar(50)
created_at:
review:
_attributes: { phpName: Review }
id:
movie_id:
user_id: { type: integer, foreignTable: sf_guard_user, foreignReference: id, required: true, onDelete: cascade }
reviews: longvarchar
rating: varchar(5)
created_at:
Perhatikan bahwa untuk tipe data String di symfony kita harus masukkan sebagai varchar atau longvarchar perbedaan antara varchar dengan longvarchar adalah banyaknya karakter, varchar maksimum hanya 255 diatas 255 gunakan longvarchar. Dan jangan lupa bahwa yml sangat sensitive dengan masalah spasi, dan juga tidak boleh ada tab. Sesuaikan editor anda untuk memakai 4 spasi menggantikan satu kali tab.
Setelah file di ubah, dan di simpan, maka yang harus kita lakukan adalah meng generasi kan database untuk symfony.
C:\>%SYMFONY%\symfony propel-build-model
Perintah ini berfungsi untuk membangun model atau object dari schema.yml, model ini lah nanti yang akan berfungsi menjadi DAO
C:\>%SYMFONY%\symfony propel-build-sql
Perintah yang satu ini berfungsi untuk membuat perintah perintah sql dari schema.yml
C:\>%SYMFONY%\symfony propel-insert-sql
Setelah di buat perintah perintah sql lalu di eksekusi melalui perintah diatas.
Dan selanjutnya kita akan coba meng generasi kan model model yang telah kita buat melalui perintah diatas. Dengan perintah berikut
C:\>%SYMFONY%\symfony propel-generate-crud samples movie Movie
untuk melihat nya kita harus membuka browser lalu buka url http://localhost/samples/web/samples_dev.php/movie/list
Direktori samples merupakan root direktori dari symfony
Contoh: List dari database movie yang kita buat.
C:\>%SYMFONY%\symfony propel-generate-crud samples review Review
Perhatikan juga bahwa semua relationship di form tersebut sudah di solve dengan cara memberikan combobox.
Contoh: List dari database movie yang kita buat.
C:\>%SYMFONY%\symfony cc
Perintah ini untuk membersihkan cache dari symfony… biasakan setelah melakukan perubahan kita melakukan clear cache
Yup That’s it for today
Update :
Untuk contoh aplikasi bisa langsung di coba disini dengan username dan password admin

Hayoo, dibuat online dong
[quote comment="24"]Hayoo, dibuat online dong
[/quote]
pengen sih om, tapiiiii gak bisa upload, rata2 diatas 10 mb, ini lagi coba pake ftp langsung…UPDATE:
Udah Upload, dan bisa di akses melalui ini, pada saat minta login, masukkan admin dengan password admin
Jika ingin lihat backend untuk user silahkan masuk ke ini
@ainur rofiq
gak ada, tapi dia support sama scriptocolues — doh gimana sih ngejanya — sama prototype
suprie’s last blog post..Petisi ?
i see, berarti hampir mirip2 ruby juga yah ?
o iya, saya pernah make propel-init-admin dan ketika mau ngutak-ngatik dalemnya, ternyata action.class + templatenya tidak di modulenya yah ? (feeling saya sih dia disimpan di cache, tapi kalo disimpan di cache, gimana ngutak-ngatiknya..? jadi lieur..?? )
@ainur rofiq,
klo mau di edit, edit ajah tapi nanti klo di generate atau di symfony cc pasti ilang… admin module emang dibuat bukan buat di ubah - ubah secara hard code, dia lebih ke konfigurasi, tapi ya gitu deh berarti ada beberapa yang gak bisa di ubah.
suprie’s last blog post..Petisi ?