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:
Caranya via command prompt:
1
| php.exe ../htdocs/advanced/requirements.php |
Yup 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:
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 :).
- Buatlah database baru, pada tutorial ini saya membuat database mysql dengan nama: yii2advanced
- 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'
,
- Jika sudah, maka langkah selanjutnya adalah migrate, gunanya
adalah menggenerate tabel yang diperlukan untuk aplikasi kita. Caranya,
masih via command prompt
1php.exe ../htdocs/advanced/yii migrate
- Selesai deh..
Sekarang kita bisa cobain..
- Silahkan buka frontend di http://localhost/advanced/frontend/web/
- Silahkan register atau signup, pake data dummy aja
- Dan.. eng ing eng.. habis register otomatis login.
- 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/
menjadihttp://front.end/
http://localhost/advanced/backend/web/
menjadihttp://back.end/
Buka file konfigurasi untuk virtual host, C:\xampp\apache\conf\extra\httpd-vhosts.confTambahkan kode seperti berikut ini
- 12345678
<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>
- Kemudian edit juga file hosts (local dns windows) yang terletak di C:\Windows\System32\drivers\etc, tambahkan kode berikut
12
127.0.0.1 back.
end
127.0.0.1 front.
end
- Restart Apache,
- 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
- 1234567
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
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” - Kemudian edit file main-local.php yang terletak di directory common/config/main-local.php , tambahkan kode berikut:
12345678910return
[
'components'
=> [
...
...,
'urlManager'
=> [
'enablePrettyUrl'
=> true,
'showScriptName'
=> false,
],
],
];
- 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 name
, description
, keywords
, homepage
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
1cd c:\xampp\htdocs\advanced
- Update composer
1C:\xampp\php\php.exe C:\xampp\php\composer.phar update --prefer-dist
- Tunggu sebentar karena mereka lagi install n update buat kita
- done
Oke saya kira cukup itu dulu (capek nulisnya capek juga kan bacanya) mudah2an manfaat..
Tidak ada komentar:
Posting Komentar