Belajar Yii dari dasar bagian 1
Kali ini saya ingin membuat sebuah aplikasi web sederhana. 😛 Aplikasi ini hanya sebatas untuk media sharing Aplikasi.
Selidik punya selidik ternyata Yii ini full OOP tidak seperti CI yang masih bisa procedural, dan lagi Yii hanya support PHP 5. Tapi sayangnya dokumentasi sekelas user guide CI tidak ada di Yii, dan ini sangat menyulitkan saya sebagai pemula. Menurut saya dokumentasi milik Yii sangat sulit dipahami. Ditambah lagi ebook yang saya temukan tidak banyak, hanya satu dan itupun berbahasa Inggris. Perjuangan memang tidak mudah.. 😀
Untuk yang belum tau Yii itu apa, saya rasa bisa cari sendiri lewat Google atau langsung menuju TKP (situs resmi Yii). Posting kali saya ingin langsung bahas tentang instalasi Yii yang saya coba di server lokal dengan AMPPS. Lagi-lagi perkara tentang AMPPS bisa dicari sendiri karena saya malas menulisnya. 😀
Langsung saja, pertama kita download dahulu Yii dari localhost/ampps.. pilih menu Framework.. di situ banyak pilihan framework yang sudah disediakan oleh AMPPS, tinggal dipilih mana yg disuka.. tapi kali ini kita pilih yii.. dan yang disediakan oleh AMPPS adalah Framework Yii versi 1.1.5. Setelah download maka intalasinya akan otomatis. jadi hanya tinggal tunggu sebentar. Webroot dari Ampps ialah www, dan pastikan ada folder bernama framework. Folder hasil ekstraksi adalah Yii. bisa dilihat di windows explorer C:/Ampps/www/yii.
Sebenarnya framework Yii bisa diinstall dimana saja tidak harus di webroot, karena kita tidak mengakses Yii secara eksplisit melainkan kita membuat sebuah skeleton dari framework Yii. Skeleton ini adalah sebuah aplikasi yang kita ingin develop dan akan di-generate otomatis dengan memanfaatkan framework Yii. Dengan kata lain dengan satu kali instalasi, kita bisa generate banyak skeleton, hebat bukan. 😀
Sebelumnya ada baiknya kita cek dahulu apakah spesifikasi komputer dalam hal ini web server kita memenuhi spesifikasi minimum yang dibutuhkan Yii. Untuk mengeceknya dengan mengetikkan url http://localhost/yii/requirements/index.php di browser. Hasil yang saya dapat seperti gambar dibawah ini :
Ok, sekarang bagaimana caranya kita generate skeleton dari aplikasi kita? Untuk membuat skeleton kita memanfaatkan tool yiic dari Yii yang sudah include dalam instalasi. Yiic ini adalah tool command line, jadi kita perlu command prompt. Bentuk umum dari perintah dasar untuk membuat skeleton baru dengan yiic yaitu sebagai berikut :
path/to/php /www/yii/framework/yiic webapp /www/applicationname
mari kita coba bedah satu persatu perintah diatas. Segmen path/to/php ini adalah path ke folder bin dari php, karena kita butuh php.exe dan di ampps biasanya ada di folder ampps/php. Kemudian segmen /www/yii/framework/yiic berarti path dari lokasi yiic hasil instalasi Yii. Segmen webapp merupakan parameter dari tool yiic yang berarti build new webapp atau buat aplikasi (skeleton) baru. Segmen terakhir, yaitu /www/applicationname adalah path folder dari aplikasi kita.
Kebetulan saya install ampp di drive C, maka bisa kita simpulkan perintah yang kita pakai di command line yaitu sebagai berikut :
C:\ampps\php\php.exe C:\ampps\www\yii\framework\yiic webapp C:\ampps\www\projek1
Loh, kenapa pakai “\” bukan “/” seperti di bentuk umum? Jelas karena di windows, command prompt memakai backslash “\” sebagai pemisah direktori untuk path. 😛
Jika perintah benar maka akan ada prompt seperti ini :
Create a Web application under ‘C:\ampps\www\projek1’? [Yes|No] y
Pilih Y/Yes terserah anda, dan yiic akan meng-generate skeleton aplikasi kita dan akan ditampilkan pula struktur direktori beserta file-nya seperti dibawah ini :
mkdir C:/ampps/www/projek1
mkdir C:/ampps/www/projek1/assets
mkdir C:/ampps/www/projek1/css
generate css/bg.gif
generate css/form.css
generate css/ie.css
generate css/main.css
generate css/print.css
generate css/screen.css
mkdir C:/ampps/www/projek1/images
generate index-test.php
generate index.php
mkdir C:/ampps/www/projek1/protected
generate protected/.htaccess
mkdir C:/ampps/www/projek1/protected/commands
mkdir C:/ampps/www/projek1/protected/commands/shell
mkdir C:/ampps/www/projek1/protected/components
generate protected/components/Controller.php
generate protected/components/UserIdentity.php
mkdir C:/ampps/www/projek1/protected/config
generate protected/config/console.php
generate protected/config/main.php
generate protected/config/test.php
mkdir C:/ampps/www/projek1/protected/controllers
generate protected/controllers/SiteController.php
mkdir C:/ampps/www/projek1/protected/data
generate protected/data/schema.mysql.sql
generate protected/data/schema.sqlite.sql
generate protected/data/testdrive.db
mkdir C:/ampps/www/projek1/protected/extensions
mkdir C:/ampps/www/projek1/protected/messages
mkdir C:/ampps/www/projek1/protected/models
generate protected/models/ContactForm.php
generate protected/models/LoginForm.php
mkdir C:/ampps/www/projek1/protected/runtime
mkdir C:/ampps/www/projek1/protected/tests
generate protected/tests/bootstrap.php
mkdir C:/ampps/www/projek1/protected/tests/fixtures
mkdir C:/ampps/www/projek1/protected/tests/functional
generate protected/tests/functional/SiteTest.php
generate protected/tests/phpunit.xml
mkdir C:/ampps/www/projek1/protected/tests/report
mkdir C:/ampps/www/projek1/protected/tests/unit
generate protected/tests/WebTestCase.php
mkdir C:/ampps/www/projek1/protected/views
mkdir C:/ampps/www/projek1/protected/views/layouts
generate protected/views/layouts/column1.php
generate protected/views/layouts/column2.php
generate protected/views/layouts/main.php
mkdir C:/ampps/www/projek1/protected/views/site
generate protected/views/site/contact.php
generate protected/views/site/error.php
generate protected/views/site/index.php
generate protected/views/site/login.php
mkdir C:/ampps/www/projek1/protected/views/site/pages
generate protected/views/site/pages/about.php
generate protected/yiic
generate protected/yiic.bat
generate protected/yiic.php
mkdir C:/ampps/www/projek1/themes
mkdir C:/ampps/www/projek1/themes/classic
mkdir C:/ampps/www/projek1/themes/classic/views
generate themes/classic/views/.htaccess
mkdir C:/ampps/www/projek1/themes/classic/views/layouts
mkdir C:/ampps/www/projek1/themes/classic/views/site
mkdir C:/ampps/www/projek1/themes/classic/views/system
Your application has been created successfully under C:\ampps\www\projek1
Setelah itu kita coba tes menggunakan browser dengan alamat url http://localhost/projek1/index.php. Ternyata Yii langsung memberikan kita beberapa halaman seperti Home, About, Contact, Login, validasi, javascript dan lain sebagainya. Terlebih lagi Login sudah bisa berfungsi dengan akun admin/admin atau demo/demo.