Symfony jilid I (Setting and Create Project)

http://www.symfony-project.org/

Symfony makanan apa sih?
Bagi yang belom tahu pasti bingung, symfony adalah sebuah framework bagi bahasa pemrograman PHP yang mendukung konsep Model View Controller (MVC)

Nah loh bahasa apa lagi tuh MVC ,framework, PHP ….kalo yang belom tahu PHP, gw silahkan berwiki ria ..heheh.. kepanjangan bow kalo dijelasin disini, yang pasti PHP itu bahasa pemrograman berbasis web, MVC itu adalah skeleton/rangka dari suatu project, dan MVC itu konsepnya.. ocree kita mulai

Hal pertama yang harus dilakukan adalah kita download symfonynya disini nihh

Download

setelah download,di ekstrak yah jadi folder namanya symfony

Kemudian kita taruh di folder htdocs atau folder www  di mesin webserver kita, bisa pakai WAMPP atau XAMPP

Di tutorial ini saya menggunakan XAMPP

Diasumsikan xampp sudah ter-install yah..

Kemudian kita setting environment variabel supaya command php terbaca di command prompt, caranya adalah:

start->mycomputer(klik kanan)->properties->advanced->environment variables kemudian tambahkan di variabel CLASSPATH, path dari php.exe , seprti contoh c:/xampp/php, pemisah dengan path lain menggunakan “;”.

Setelah setting variabel kemudian restart

*Ambil kopi, tahu goreng, santai sejenakk…..

Setalah komputer nyala

Untuk cek apakah php symfony sudah berjalan, buka cmd, kemudian ketikkan perintah didalam folder symfony :”php symfony” kalau sudah benar instalasinya , akan memunculkan informasi

-Fase instalasi selesai-

Kemudian fase membuat program

Disini kita akan mencoba membuat program sederhana yaitu input , retrieve, edit,data karyawan pom bensin

Akan kita kasi nama projectnya pom

required:

  • xampp
  • folder symfony yang terletak pada folder htdocs

Step 1

Buat folder di htdocs dengan nama pom

Step 2

*Generate project named pom
C:\xampp\htdocs\pom>php ../symfony/data/bin/symfony generate:project pom
>> dir+      C:\xampp\htdocs\pom\apps
>> dir+      C:\xampp\htdocs\pom\cache
>> dir+      C:\xampp\htdocs\pom\config
>> file+     C:\xampp\htdocs\pom\config/databases.yml
>> file+     C:\xampp\htdocs\pom\config/ProjectConfiguration.class.php
>> file+     C:\xampp\htdocs\pom\config/propel.ini
>> file+     C:\xampp\htdocs\pom\config/properties.ini
>> file+     C:\xampp\htdocs\pom\config/rsync_exclude.txt
>> file+     C:\xampp\htdocs\pom\config/schema.yml
>> file+     C:\xampp\htdocs\pom\config/vhost.sample
>> dir+      C:\xampp\htdocs\pom\data
>> dir+      C:\xampp\htdocs\pom\data/fixtures
>> file+     C:\xampp\htdocs\pom\data/fixtures/fixtures.yml
>> dir+      C:\xampp\htdocs\pom\doc
>> dir+      C:\xampp\htdocs\pom\lib
>> dir+      C:\xampp\htdocs\pom\log
>> dir+      C:\xampp\htdocs\pom\plugins
>> file+     C:\xampp\htdocs\pom\symfony
>> dir+      C:\xampp\htdocs\pom\test
>> dir+      C:\xampp\htdocs\pom\test/bootstrap
>> file+     C:\xampp\htdocs\pom\test/bootstrap/functional.php
>> file+     C:\xampp\htdocs\pom\test/bootstrap/unit.php
>> dir+      C:\xampp\htdocs\pom\test/functional
>> dir+      C:\xampp\htdocs\pom\test/unit
>> dir+      C:\xampp\htdocs\pom\web
>> file+     C:\xampp\htdocs\pom\web/.htaccess
>> dir+      C:\xampp\htdocs\pom\web/css
>> file+     C:\xampp\htdocs\pom\web/css/main.css
>> dir+      C:\xampp\htdocs\pom\web/images
>> dir+      C:\xampp\htdocs\pom\web/js
>> file+     C:\xampp\htdocs\pom\web/robots.txt
>> dir+      C:\xampp\htdocs\pom\web/uploads
>> dir+      C:\xampp\htdocs\pom\web/uploads/assets
>> tokens    C:/xampp/htdocs/pom/config/databases.yml
>> tokens    C:/xampp/htdocs/pom/config/propel.ini
>> tokens    C:/xampp/htdocs/pom/config/properties.ini
>> tokens    C:\xampp\htdocs\pom\config/ProjectConfiguration.class.php
>> tokens    C:\xampp\htdocs\pom\config/vhost.sample
>> chmod 777 C:\xampp\htdocs\pom\web\uploads
>> chmod 777 C:\xampp\htdocs\pom\cache
>> chmod 777 C:\xampp\htdocs\pom\log
>> chmod 777 C:\xampp\htdocs\pom\symfony
>> chmod 777 C:/xampp/htdocs/pom/web/uploads/assets

Untuk membuat frontend:

C:\xampp\htdocs\pom>php symfony generate:app –escaping-strategy=on–csrf-secret
=UniqueSecret frontend

>> dir+      C:\xampp\htdocs\pom\apps/frontend\config
>> file+     C:\xampp\htdocs\pom\apps/frontend\config/app.yml
>> file+     C:\xampp\htdocs\pom\apps/fronte…licationConfiguration.class.php
>> file+     C:\xampp\htdocs\pom\apps/frontend\config/cache.yml
>> file+     C:\xampp\htdocs\pom\apps/frontend\config/factories.yml
>> file+     C:\xampp\htdocs\pom\apps/frontend\config/filters.yml
>> file+     C:\xampp\htdocs\pom\apps/frontend\config/routing.yml
>> file+     C:\xampp\htdocs\pom\apps/frontend\config/security.yml
>> file+     C:\xampp\htdocs\pom\apps/frontend\config/settings.yml
>> file+     C:\xampp\htdocs\pom\apps/frontend\config/view.yml
>> dir+      C:\xampp\htdocs\pom\apps/frontend\i18n
>> dir+      C:\xampp\htdocs\pom\apps/frontend\lib
>> file+     C:\xampp\htdocs\pom\apps/frontend\lib/myUser.class.php
>> dir+      C:\xampp\htdocs\pom\apps/frontend\modules
>> dir+      C:\xampp\htdocs\pom\apps/frontend\templates
>> file+     C:\xampp\htdocs\pom\apps/frontend\templates/layout.php
>> tokens    C:/xampp/htdocs/pom/apps/frontend/config/settings.yml
>> file+     C:\xampp\htdocs\pom\web/index.php
>> file+     C:\xampp\htdocs\pom\web/frontend_dev.php
>> tokens    C:\xampp\htdocs\pom\web/index.php
>> tokens    C:\xampp\htdocs\pom\web/frontend_dev.php
>> rename    C:\xampp\htdocs\pom\apps/fronte…frontendConfiguration.class.php
>> tokens    C:\xampp\htdocs\pom\apps/fronte…frontendConfiguration.class.php
>> chmod 777 C:\xampp\htdocs\pom\web\uploads
>> chmod 777 C:\xampp\htdocs\pom\cache
>> chmod 777 C:\xampp\htdocs\pom\log
>> chmod 777 C:\xampp\htdocs\pom\symfony
>> chmod 666 C:/xampp/htdocs/pom/cache/project_autoload.cache
>> chmod 777 C:/xampp/htdocs/pom/web/uploads/assets
>> dir+      C:\xampp\htdocs\pom\test/functional/frontend

*Kemudian restart APACHE


Kemudian setting data basenya dengan command

*php symfony configure:database “mysql:host=localhost;dbname=pom” root

Setelah itu kita cari file dengan nama schema.yml

Disitu merupakan tempat untuk membuat table database pada mysql

*kemudian kita edit

propel:
karyawan:
id: { type: varchar(10), required: true, primaryKey: true }
nama: { type: varchar(100), required: true }
alamat: { type: varchar(100), required: true }
no_telp: { type: varchar(10), required: true }
posisi: { type: varchar(100), required: true }

Kemudian Save

ketikkan perintah :

php symfony configure:database “mysql:host=localhost;dbname=pom” root masih tetap pada folder pom

*selanjutnya:

php symfony propel:build-sql

itu berguna untuk membuat table2x pada database pom, sesuai dengan yang tertera di file schma.xml

php symfony propel:build-model

Untuk membuat model-nya

php symfony propel:insert-sql

Untuk insert sql (akan ada peringatan apabila command ini dijalankan akan menghapus record database yang ada)

php symfony propel:build-forms

untuk membuat forms

php symfony cc

untuk clear cache

php symfony propel:generate-module –with-show –non-verbose-templates frontend  karyawan Karyawan

untuk membuat module Karyawan dimana kita akan melakukan coding di folder tersebut

-Fase create project selesai-

Setelah fase diatas selesai

maka di folder project akan tercipta modul karyawan, dimana kita melakukan pemrograman web

dapat di akses di  htdocs\pom\apps\frontend\modules\

Disitu apabila kita create banyak module akan tersedia module2x yang sudah kita create

Pada contoh ini kita hanya membuat satu module yaitu module karyawan, kita masuk ke module karyawan

di dalam folder karyawan akan terdapat dua folder yaitu action dan template

folder action terdapat satu file yagn bernama action, dimana file tersebut berguna untuk menjalankan fungsi2x yang sudah ditentukan, seperti fungsi CRUD yaitu Create, Retrieve, Update and Delete

sedangkan folder template berguna untuk mengatur tampilan web interface yang akan dijalankan sesuai dengan function yang sudah didefinisikan di action

Akan dilanjutkan di posting jilid keduapemrograman symfony

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s