Sunday, February 27, 2011

Belajar Yii dari dasar bagian 1


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

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/learnyii/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  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

5 comments:

  1. wew,, abis CI sekarang YII :D
    cepet bgt lari lw di, lari lebih kenceng lagi gan :D

    ReplyDelete
  2. Baru belajar Gar, dari awal CI juga cuma belajar-belajar aja ga sampe advance.. :D

    ReplyDelete
  3. om 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 :)
    terima kasih.

    ReplyDelete
  4. mantap gan ane juga mw share yii dan aplikasinya nih bisa visit ke SINI di tunggu komenya yaww

    ReplyDelete
  5. kunjungin web satu lagi yang ini y gan Jamalcyber

    ReplyDelete