Tuesday, December 29, 2009

Instalasi Symfony Framework

Symfony Framework adalah salah satu Framework PHP yang dibuat untuk mempercepat proses development sebuah website atau aplikasi berbasis web. Symfony dapat di install di platform unix maupun windows.

Dengan design yang rapih dan kode program yang bersih membuat symfony mudah untuk dipelajari oleh para programmer PHP.

Framework Symfony ini disponsori oleh Sensio Labs, sebuah Badan Web dari Perancis


Alasan mengunakan framework bisa dibaca di klik dan pertimbangan memilih framework dapat dibaca di klik

Pada Posting ini akan membahas mengenai Instalasi Symfony Framework sampai membuat simple program "HELLO WORLD".

Untuk mendapatkan source symfony framework ada beberapa cara yaitu:
  1. Download compress file yang berekstensi *.tgz atau *.zip
  2. Melakukan SVN checkout dari repository symfony framework
  3. Instalasi melalui channel PEAR
Alamat untuk mendapatkan source symfony framework dapat di lihat di klik

Dan Symfony Framework menyediakan 2 macam paket, yaitu:
  1. pre-packaged yang biasa disebut sandbox, adalah paket yang dibuat untuk mencoba symfony framework.
  2. full-packaged yang biasa disebut source, adalah paket yang disediakan untuk kebutuhan production.
Pada posting ini yang akan dibahas adalah mendapatkan instalasi symfony framework dari compres file dengan tipe full-packaged. Dan versi symfony yang dipilih adalah Symfony versi 1.4.1

Tentang php version mininum, support dan sebagai nya dari symfony framework versi 1.4.1 dapat dilihat di klik


Diharapkan Pembaca sudah familiar dengan command-line seperti create direktori, change direktori dsb, karna symfony menggunakan command-line untuk melakukan setup.
Sistem Operasi yang di gunakan pada Proses instalasi Symfony Framework ini menggunakan Linux Ubuntu Karmic Koala.

Tahap 1.
Download Source Symfony Framework versi symfony-1.4.1.tgz di http://www.symfony-project.org/installation

Tahap 2.
Ekstrak Source Symfony Framework dimana pun yang ada mau, (sebagai contoh saya melakukan ekstrak di folder www atau public_html dari webserver apache), seperti gambar di bawah ini :



Tahap 3.
Lakukan cek konfigurasi php mengunakan script symfony yang telah di sediakan melalui browser di alamat:
http://127.0.0.1/symfony-1.4.1/data/bin/check_configuration.php
maka akan muncul seperti gambar dibawah ini:


Tahap 4.
Memeriksa versi symfony framework melalui command-line, pada konsol ketikkan task di seperti dibawah ini:
cd /home/dendie/www/symfony-1.4.1/lib
php symfony -V
Ket: diasumsikan alamat symfony-1.4.1 pada /home/dendie/www/

Bila berhasil maka akan mucul keterangan versi seperti gambar dibawah ini:


Tahap 5
Tahap selanjutnya adalah melakukan setup projek.
  1. Buatlah sebuah folder di www atau public html sebagai tempat untuk melakukan setup projek misalkan diberi nama projekPertama
  2. Masuk kedalam folder yang telah dibuat yaitu projekPertama
  3. Berikan task symfony untuk untuk setup project, liat gambar dibawah ini
klik Gambar Untuk Lebih Jelas

Bila setup projek berhasil maka pada folder projekPertama akan terbentuk struktur folder seperti dibawah ini:


Berikut ini adalah pejelasan dari setiap folder


Konsep dari symfony framework adalah:
  1. Satu Symfony Framework dapat memilik banyak Project
  2. Satu Projek dapat memiliki banyak Aplication
  3. Satu Aplication dapat memilik banyak Modul


Tahap 6
Setelah membuat projek setup selanjutnya adalah membuat application. Dalam satu projek minimal memilik 1 buah application.

  1. masuklah ke dalam folder projekPertama
  2. ketikan task symfony untuk membuat aplication, seperti gambar dibawah ini:
klik Gambar Untuk Lebih Jelas

gambar di atas membuat aplikasi dengan nama aplikasiPertama
bila proses generate application berhasil maka akan terbentuk struktur folder seperti dibawah ini:


Tahap 7
Setelah membuat aplikasi selanjutnya membuat satu buah modul di dalam apliksi yang telah di buat tadi (aplikasiPertama). Dalam satu aplikasi minimal memiliki satu buah modul
  1. Masuk ke dalam folder projekPertama
  2. Ketikan task symfony untuk membuat modul, seperti gambar dibawah ini:
gambar diatas membuat modul dengan nama modulPertama pada aplikasi bernama aplikasiPertama


klik Gambar Untuk Lebih Jelas

Bila generate modul berhasil akan membentuk struktur folder seperti gambar dibawah ini:


Pada gambar diatas terbentuk dua buah folder, pejelasannya adalah
  1. Folder actions adalah untuk menuliskan logic program
  2. Folder templates adalah untuk meletakan template/design dari modul tersebut

Tahap 9
Tahap ini adalah tahap membuat sebuah program sangat-sangat sederhana yaitu membuat "Hello Word"
  1. Buka File actions.class.php di folder actions dari modul bernama modulPertama pada aplikasi bernama aplikasiPertama.


  2. Lalu pada file actions.class.php ketikan kode seprti dibawah ini
  3. /**
    *
    * @package    projekPertama
    * @subpackage modulPertama
    * @author     Your name here
    * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
    */
    class modulPertamaActions extends sfActions
    {
    /**
    * Executes index action
    *
    * @param sfRequest $request A request object
    */
    public function executeIndex(sfWebRequest $request)
    {
    $this->vHello = "Hello World";
    }
    }
  4. Buka File indexSuccess.php di folder templates dari modul bernama modulPertama pada aplikasi bernama aplikasiPertama.


  5. Lalu pada file indexSuccess.php Ketikan kode seperti dibawah ini:

    <?php echo  $vHello ?>
  6. Pada browser ketikan alamat http://127.0.0.1/projekPertama/web/aplikasiPertama.php/modulPertama
    maka
    tulisan "Hello World" akan muncul dibrowser seperti gambar dibawah ini:
klik Gambar Untuk Lebih Jelas


Tahap 10 (Optional)
Tahap 10 disebut optional karena memang boleh ada atau tidak. Ini adalah tahap untuk bila membutuhkan feature ajax, dhtml agar website jadi lebih dinamis,

Library dari feature ajax, dhtml dan sebagai nya berada di folder sf dari symfony framework, dan bila sebuah projek membuat feature tersebut maka perlu dibuat alias dari projek ke folder sf, cara membuat alias adalah sebagai berikut:

Buatlah Alias pada webserver untuk folder /projekPertama/web/sf yang mengarah ke alamat folder sf yang sebenarnya (diasumsikan di /home/dendie/www/symfony-1.4.1/data/web/sf/) . caranya adalah sebagai berikut:
  • Buka file konfigurasi virtual host apache , secara default berada di /etc/apache2/sites-enabled/000-default (mungkin di komputer lain bisa berbeda alamatnya)
  • Pada file 000-default tambahkan alias seperti dibawah ini

    Alias /projekPertama/web/sf "/home/dendie/www/symfony-1.4.1/data/web/sf/"
    <Directory "/home/dendie/www/symfony-1.4.1/data/web/sf/">
    AllowOverride All
    Allow from All
    </Directory>
  • Restart webserver, bila secara default caranya adalah

    sudo /etc/init.d/apache2 restart 
    Ket: pada posting ini yang digunakan adalah webserver apache 2

Bila proses pembuat alias berhasil disaat mengakses alamat http://127.0.0.1/projekPertama/web maka akan muncul tampilan seperti dibawah ini:


Bila proses pembuat alias gagal disaat mengakses alamat http://127.0.0.1/projekPertama/web maka akan muncul tampilan seperti dibawah ini:


Sumber : Manual instalasi symfony bisa juga di lihat di http://www.symfony-project.org/getting-started/1_4/en/

33 comments:

  1. mas...aku mau blajar symfony neh..
    aku dah coba semua i window, tapi kok helo worldnya ga mau muncul ya?????/
    thank before

    ReplyDelete
  2. ngak mau muncul nya bagaimana ya...
    apa ada error atau blank putih saja???

    ReplyDelete
  3. pertama sy ikutin tutorial masnya..
    kedua sy ikutin tutorial ini http://trac.symfony-project.org/wiki/WindowsXPDevelopmentEnvironment
    http://www.techbol.com/2008/02/13/how-to-set-up-symfony-in-xampp-in-windows/

    alias dah berhasil mas, tp ttp aja wktu munculin helo worldnya, pagenya ga ditemukan mas, jd bingung ne mas..
    aku make xampp 1.7.3 dan symfony 1.4 mas...
    makasi banyak mas dendie...

    ReplyDelete
  4. mungkin ada error... jadi tidak muncuk error nya...
    diubah aja enviromentnya dari prod ke dev...

    prod = prodaction (semua warning dan error tidak tampilkan)
    dev = development (hal kecil error atau warning juga akan dimunculkan)

    caranya bukan file index.php pada folder web... atau bila contoh diatas adalah file bernama aplikasiPertama.php kemudian ubah eviroment nya. seperti contoh dibawah ini

    sebelum:

    $configuration = ProjectConfiguration::getApplicationConfiguration('aplikasiPertama', 'prod', false);

    menjadi:
    ProjectConfiguration::getApplicationConfiguration('aplikasiPertama', 'dev', true);

    ReplyDelete
  5. sipp mas dendie..makasi bnyk ya...
    bso2 mau tanya lg mas...
    oke
    :)

    ReplyDelete
  6. pada tahap 9.5, halo word ku ga kluar kok ya mas?
    muncul nya spt gbr pada gambar terakhir di tahap 10

    thx b4

    ReplyDelete
  7. mungkin di action mu masih ada tulisan

    $this->forward('default', 'module');


    jadi dijadikan comment saja atau ditutup saja

    ReplyDelete
  8. permisi mas mau tanya

    instalasi q sampe tahap 3 ,mau ke tahap 4 kok gk bisa gmn ya ,direktori xampp q di D:xampp ,mas gmn dong


    makasi

    ReplyDelete
  9. @atachi ngak bisa bagaimana (dijelaskan lebih lengkap ngak bisa nya) ? apa ada pesan error nya ?

    ReplyDelete
  10. Mas dendi, saya sudah berhasil instalasi sf dan show hello word. Tp u tahap 10 (option) belum berhasil menemukan lokasi /etc/apache2/sites-enabled/000-default . saya gunakan xampp.

    Bisa dibantu? Hatur nuhun kang Dendi.

    ReplyDelete
  11. kalau pake xampp biasanya ada di ...\xampp\apache\conf\httpd.conf

    ReplyDelete
  12. terimakasih mas.. sudah bisa tampil seluruhnya sesuai tutor mas dendie.

    Lanjut mas.. untuk databasenya kita buatkan schema (doctrine atau propel???) atau direct buat di mysql nya?

    terimakasih

    ReplyDelete
  13. sarannya saya belajar cara menggunakan native mysql dahulu menggunakan PDO -> http://dendieisme.blogspot.com/2010/08/pdo-di-symfony-framework.html lalu mencoba docrtine..

    ReplyDelete
  14. kalau untuk windows seperti apa yah?

    ReplyDelete
  15. sangat mirip dengan cara diatas mas..

    ReplyDelete
  16. hatur nuhun kang dendie, saya jadi bisa nginstall symfony..hehe

    ReplyDelete
  17. mas kalo pada tahap 4 sama tahap 5 muncul error php_exif.dll is missing kenapa yaa??

    ReplyDelete
    Replies
    1. Itu karena lib php_exif tidak terinstall di php. coba install lib php_exif nya.

      Untuk download lib php_exif.dll bisa di dapat di -> http://www.dlldll.com/php_exif.dll_download.html

      Cara instalasi bisa mengikuti seperti yang ditulis di sini -> http://php.net/manual/en/install.windows.extensions.php

      Delete
  18. great tutorial, bro
    saya akan banyak belajar dari Anda :)

    ReplyDelete
  19. om minta tutorial n capture nya yg versi windows dong

    ReplyDelete
  20. Kang Dendie saya baru pertama kali megang symfony php, saya udah coba semua di tutorial semua nya,, tapi pas di tahap 10, tampilan template nya gk mncul,
    saya pake windows dan xampp. Hatur nuhun kang Dendi..

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. Kemungkinan kesalahannya pada bagian penulisan alias webserver untuk folder SF.

      Coba cek ulang alamat direktori dan alias di webserver.

      Delete
    3. saya gak ngerti pengunaan alias itu-_- duh ilmu saya masih cetek bgt belum pernah pake symfony tolong ajarkan saya menginstal symfony di cmd

      Delete
  21. mas buleh minta artikel buat bikin Simple CRUD di symfony? tks.. artikel ini kereun makasih buanyakkk hehe :D running well

    ReplyDelete
    Replies
    1. Untuk symfony 1.4 bisa menggunakan ini -> http://symfony.com/legacy/doc/gentle-introduction/1_4/en/10-Forms

      Delete
  22. setiap kali saya install lewat cmd gak bisa terus kenapa yaaa?

    ReplyDelete
  23. mas mau tanya, kok pada saat saya ingin mmbuka http://127.0.0.1/symfony-1.4.1/data/bin/check_configuration.php yang muncul object not found ya?

    ReplyDelete