Minggu, 21 Februari 2016

Web Design (PENGERTIAN FRAME WORK Yii2)


Ternyata benar kata temen2 di group yii Indonesia, semakin kesini Alhamdulillah saya merasakan bahwa Yii2 lebih mudah dibanding Yii1, Yii2 lebih mirip boilerplate atau web yang udah jadi, so kita tinggal cutomize aja.. Artikel ini merupakan lanjutan dari artikel sebelumnya Instalasi Yii via Composer (baca dulu jika belum). Pada artikel ini saya akan membahas tentang pengaturan dasar yang sebaiknya kita lakukan setelah instalasi Yii (baca disini). 
 

Disini, kita masih akan berhubungan dengan command prompt, dan composer. Dua tools “aneh” yang sepertinya kuno sekali hehe.. Oke tanpa perlu berpanjang kata.. silahkan disimak.
Check Requirement
Sebelum semuanya membuat Anda bingung, pastikan Anda mengecek kebutuhan minimum server untuk bisa menjalankan Yii. Yii telah menyediakan tools bagi Anda untuk melakukan checking secara otomatis.

Caranya via command prompt:
1
php.exe ../htdocs/advanced/requirements.php
Maka akan muncul resume beserta penjelasan (berikut pada pc saya) 

cmdYup ada 1 error, 4 warning, Anda bisa baca apakah signifikan? jika iya maka silahkan di fix dulu (googling yah.. hehe)

Memahami Directory Aplikasi Yii
Ketika kita install yii dengan advanced application template, maka kita akan menjumpai 6 folder utama dan beberapa file, berikut ini kira2 penjelasannya mengenai fungsi masing2 folder itu:
The root directory contains the following subdirectories:
  • backend - backend web application.
  • common - files common to all applications.
  • console - console application.
  • environments - environment configs.
  • frontend - frontend web application.

Root directory contains a set of files.
  • .gitignore contains a list of directories ignored by git version system. If you need something never get to your source code repository, add it there.
  • composer.json - Composer config described in detail below.
  • init - initialization script described in “Composer config described in detail below”.
  • init.bat - same for Windows.
  • LICENSE.md - license info. Put your project license there. Especially when opensourcing.
  • README.md - basic info about installing template. Consider replacing it with information about your project and its installation.
  • requirements.php - Yii requirements checker.
  • yii - console application bootstrap.
  • yii.bat - same for Windows.

Intinya, ada 3 aplikasi yaitu frontend, backend dan console.
  • Frontend adalah aplikasi web yang akan ditampilkan untuk end user.
  • Backend adalah aplikasi web yang berfungsi untuk administrator dalam mengelola aplikasi frontend.
  • Console adalah aplikasi yang digunakan untuk cron jobs and low-level server management. dan juga digunakan selama deployment aplikasi dan menghandle migrations dan assets.
Ada juga folder common yang  berisi file2 yang digunakan oleh lebih dari satu aplikasi, sebagai contoh global configuration seperti pengaturan koneksi database, atau general model seperti model user.
Yii2 sudah memperhitungkan pengembangan aplikasi enterprise, dimana sangat support untuk pengembangan aplikasi secara team menggunakan git. Kalo kita lihat pada Yii2 ini, ada beberapa file yang berakhiran “-local” yaitu main-local.php dan param-local.php, itu adalah file-file yang hanya untuk penggunaan local sehingga dikecualikan untuk diupload ke repository git, silahkan cek file .gitignore.
Terkait dengan parameter dan configuration pada Yii2, berikut ini urutannya yii membacanya:
advanced-app-configs
Predefined path aliases
  • @yii – framework directory.
  • @app – base path of currently running application.
  • @common – common directory.
  • @frontend – frontend web application directory.
  • @backend – backend web application directory.
  • @console – console directory.
  • @runtime – runtime directory of currently running web application.
  • @vendor – Composer vendor directory.
  • @web – base URL of currently running web application.
  • @webroot – web root directory of currently running web application.

Setting Database & Migrate
Yii2 udah nyiapin template database (tabel). Dan kerennya kodenya pun dah dibikinin mulai dari mekanisme login, logout, register dan lupa password, so kita tinggal nonton doang :).
  1. Buatlah database baru,  pada tutorial ini saya membuat database mysql dengan nama: yii2advanced
  2. Hubungkan projek yii Anda dengan database yang baru dibikin tadi, caranya buka file main-local.php yang terletak di directory common/config/main-local.php  pada bagian component.db
    1
    'dsn' => 'mysql:host=localhost;dbname=yii2advanced',
  3.  Jika sudah, maka langkah selanjutnya adalah migrate, gunanya adalah menggenerate tabel yang diperlukan untuk aplikasi kita. Caranya, masih via command prompt
    1
    php.exe ../htdocs/advanced/yii migrate
    migrateYup, si migrate tool ini menggenerate table user.
  4. Selesai deh..

Sekarang kita bisa cobain..
  1. Silahkan buka frontend di http://localhost/advanced/frontend/web/
  2. Silahkan register atau signup, pake data dummy aja
    signup
  3. Dan.. eng ing eng.. habis register otomatis login.
    signup
  4. Ok dengan Yii2 kita sudah nggak perlu puyeng lagi dengan login signup user via database.. bahkan ada fitur lupa password :)

Anda bisa juga mencoba untuk aplikasi backend-nya
Setting Virtual Host di XAMPP
Kalo kita perhatikan, url menuju aplikasi frontend maupun backend terlalu panjang, nah kita bisa sederhanakan,
  • http://localhost/advanced/frontend/web/ menjadi  http://front.end/
  • http://localhost/advanced/backend/web/ menjadi http://back.end/
Kalo kita pake XAMPP kita bisa atur menggunakan virtual host.. caranya
Buka file konfigurasi untuk virtual host, C:\xampp\apache\conf\extra\httpd-vhosts.confTambahkan kode seperti berikut ini

  1. 1
    2
    3
    4
    5
    6
    7
    8
    <VirtualHost *:80>
     DocumentRoot "C:/xampp/htdocs/advanced/frontend/web/"
     ServerName front.end
    </VirtualHost>
    <VirtualHost *:80>
     DocumentRoot "C:/xampp/htdocs/advanced/backend/web/"
     ServerName back.end
    </VirtualHost>
  2. Kemudian edit juga file hosts (local dns windows) yang terletak di C:\Windows\System32\drivers\etc, tambahkan kode berikut
    1
    2
    127.0.0.1 back.end
    127.0.0.1 front.end
  3. Restart Apache,
  4. Done…

Setting URL SEO Friendly
Sebagai mana Yii1, Yii2 juga menyediakan setting untuk url atau permalink yang cantik atau istilah kerennya.. SEO Friendly.. Gimana caranya? gampang kaka…
Gunakan htaccess sebagaimana yang direkomendasikan Yii.. checkout di http://www.yiiframework.com/doc-2.0/guide-installation.html, yaitu buat file dengan nama .htaccess yang berisi
  1. 1
    2
    3
    4
    5
    6
    7
    RewriteEngine on
    # If a directory or a file exists, use the request directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Otherwise forward the request to index.php
    RewriteRule . index.php
    Letakkan file ini di directory /frontend/web/ dan /backend/web/.
    Triknya jika di windows, gunakan notepad untuk membuat file htaccess ini, lalu pada saat save gunakan tanda petik dua pada filenamenya untuk mengghindari error “.htaccess”
  2. Kemudian edit file main-local.php yang terletak di directory common/config/main-local.php  , tambahkan kode berikut:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    return [
    'components' => [
    ...
    ...,
    'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    ],
    ],
    ];
  3. Done.. liat bedanya :) Yaitu script index.php dihilangkan dari URL Address, controller URL jadi enak dilihat, dari :
    http://front.end/index.php?r=site%2Fabout menjadi http://front.end/site/about

Setting Composer
Bagian terakhir, adalah setting composer, file composer.json berisi konfigurasi dari projek kita ini, silahkan di edit file ini yang terletak di root directory dari projek kita yaitu C:\xampp\htdocs\advanced\composer.json
Update informasi dasar yaitu namedescriptionkeywordshomepage and support sesuaikan dengan project kita.

Bagian menarik disini adalah kita bisa menambahkan package atau library external yang diperlukan untuk aplikasi kita pada bagian require . Syaratnya, lirary external tersebut harus ada di  packagist.org (gak harus sih.. untuk level advanced :)).
Setelah update composer.json maka untuk mengupdatenya buka kembali command prompt, ketik:
  • Masuk ke directory root projek kita
    1
    cd c:\xampp\htdocs\advanced
  • Update composer
    1
    C:\xampp\php\php.exe  C:\xampp\php\composer.phar update --prefer-dist
  • Tunggu sebentar karena mereka lagi install n update buat kita :)
  • done
signup
Oke saya kira cukup itu dulu (capek nulisnya :) capek juga kan bacanya) mudah2an manfaat..

Tidak ada komentar:

Posting Komentar