Berawal dari belajar Codeigniter, ternyata ketemu sama framework lain yang bikin penasaran. Kabarnya Yii ini performanya lebih yahud ketimbang CI. Walaupun belum mahir di CI tapi karena situasi dan kondisi hati yang moody, akhirnya ingin juga bisa buat aplikasi pakai Yii.
Kali ini saya ingin membuat sebuah aplikasi web sederhana yang mirip Android Market tapi tidak secanggih itu. :P Aplikasi ini hanya sebatas untuk media sharing Aplikasi android, dimana seorang Developer akan mendaftar, kemudian diberikan space sebesar beberapa MB, konten untuk info developer, aplikasi yang dia buat dan upload aplikasinya sudah tentu. Kemudian User yang ingin download aplikasi juga diharuskan melakukan registrasi terlebih dahulu. Kita namakan saja aplikasi kita ini BrankasAndroid.
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.. :D
Berhubung kali ini koneksi internet cukup mudah didapat, saya coba untuk menulis perjalanan mengarungi Yii di blog, siapa tahu bisa berguna buat yang sama-sama memulai belajar Yii.
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 XAMPP. Lagi-lagi perkara tentang XAMPP bisa dicari sendiri karena saya malas menulisnya. :D
Langsung saja, pertama kita download dahulu Yii dari situs resminya di http://www.yiiframework.com/download/
Versi Yii yang kita pakai kali ini adalah Yii 1.1.6. Kompresi tar.gz atau zip, terserah anda. Kemudian ekstrak Yii ke folder webroot atau htdocs (webroot dari xampp ialah htdocs), dan pastikan ada folder bernama framework. Saya merubah folder hasil ekstraksi menjadi learnYii.
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. :D
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 dariperintah dasar untuk membuat skeleton baru dengan yiic yaitu sebagai berikut :
path/to/php /wwwroot/yii/framework/yiic webapp /wwwroot/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 xampp bisaanya ada di folder xampp/php. Kemudian segmen /wwwroot/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 /wwwroot/applicationname adalah path folder dari aplikasi kita.
Kebetulan saya install xampp di drive E, maka bisa kita simpulkan perintah yang kita pakai di command line yaitu sebagai berikut :
E:\xampp\php\php.exe E:\xampp\htdocs\learnyii\framework\yiic webapp E:\xampp\htdocs\brankasandroid
Loh, kenapa pakai “\” bukan “/” seperti di bentuk umum? Jelas karena di windows, command prompt memakai backslash “\” sebagai pemisah direktori untuk path. :P
Jika perintah benar maka akan ada prompt seperti ini :
Create a Web application under 'E:\xampp\htdocs\brankasandroid'? [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 E:/xampp/htdocs/brankasandroid
mkdir E:/xampp/htdocs/brankasandroid/assets
mkdir E:/xampp/htdocs/brankasandroid/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 E:/xampp/htdocs/brankasandroid/images
generate index-test.php
generate index.php
mkdir E:/xampp/htdocs/brankasandroid/protected
generate protected/.htaccess
mkdir E:/xampp/htdocs/brankasandroid/protected/commands
mkdir E:/xampp/htdocs/brankasandroid/protected/commands/shell
mkdir E:/xampp/htdocs/brankasandroid/protected/components
generate protected/components/Controller.php
generate protected/components/UserIdentity.php
mkdir E:/xampp/htdocs/brankasandroid/protected/config
generate protected/config/console.php
generate protected/config/main.php
generate protected/config/test.php
mkdir E:/xampp/htdocs/brankasandroid/protected/controllers
generate protected/controllers/SiteController.php
mkdir E:/xampp/htdocs/brankasandroid/protected/data
generate protected/data/schema.mysql.sql
generate protected/data/schema.sqlite.sql
generate protected/data/testdrive.db
mkdir E:/xampp/htdocs/brankasandroid/protected/extensions
mkdir E:/xampp/htdocs/brankasandroid/protected/messages
mkdir E:/xampp/htdocs/brankasandroid/protected/models
generate protected/models/ContactForm.php
generate protected/models/LoginForm.php
mkdir E:/xampp/htdocs/brankasandroid/protected/runtime
mkdir E:/xampp/htdocs/brankasandroid/protected/tests
generate protected/tests/bootstrap.php
mkdir E:/xampp/htdocs/brankasandroid/protected/tests/fixtures
mkdir E:/xampp/htdocs/brankasandroid/protected/tests/functional
generate protected/tests/functional/SiteTest.php
generate protected/tests/phpunit.xml
mkdir E:/xampp/htdocs/brankasandroid/protected/tests/report
mkdir E:/xampp/htdocs/brankasandroid/protected/tests/unit
generate protected/tests/WebTestCase.php
mkdir E:/xampp/htdocs/brankasandroid/protected/views
mkdir E:/xampp/htdocs/brankasandroid/protected/views/layouts
generate protected/views/layouts/column1.php
generate protected/views/layouts/column2.php
generate protected/views/layouts/main.php
mkdir E:/xampp/htdocs/brankasandroid/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 E:/xampp/htdocs/brankasandroid/protected/views/site/pages
generate protected/views/site/pages/about.php
generate protected/yiic
generate protected/yiic.bat
generate protected/yiic.php
mkdir E:/xampp/htdocs/brankasandroid/themes
mkdir E:/xampp/htdocs/brankasandroid/themes/classic
mkdir E:/xampp/htdocs/brankasandroid/themes/classic/views
generate themes/classic/views/.htaccess
mkdir E:/xampp/htdocs/brankasandroid/themes/classic/views/layouts
mkdir E:/xampp/htdocs/brankasandroid/themes/classic/views/site
mkdir E:/xampp/htdocs/brankasandroid/themes/classic/views/system
Your application has been created successfully under E:\xampp\htdocs\brankasandr
oid.
Setelah itu kita coba tes menggunakan browser dengan alamat url http://localhost/brankasandroid/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.
sumber :
http://www.yiiframework.com/doc/blog/1.1/en/start.testdrive
wew,, abis CI sekarang YII :D
ReplyDeletecepet bgt lari lw di, lari lebih kenceng lagi gan :D
Baru belajar Gar, dari awal CI juga cuma belajar-belajar aja ga sampe advance.. :D
ReplyDeleteom adi, klo untuk melakukan editing di yii gmn sih? Misalnya saya ingin menambahkan "sebuah bar menu baru" dan pastinya halaman yang tertera di menu tsb (misal : review_product.php). Mohon guidancenya yah mas adi :)
ReplyDeleteterima kasih.
mantap gan ane juga mw share yii dan aplikasinya nih bisa visit ke SINI di tunggu komenya yaww
ReplyDeletekunjungin web satu lagi yang ini y gan Jamalcyber
ReplyDelete