0 follower

Skrip Masuk

Skrip masuk adalah langkah pertama pada proses bootstrap aplikasi. Dalam sebuah aplikasi (apakah itu aplikasi web atau aplikasi konsol) memiliki satu skrip masuk. Pengguna mengirim request ke skrip masuk dimana skrip tersebut membangun objek aplikasi dan meneruskan request ke objek tersebut.

Skrip masuk untuk aplikasi web harus disimpan pada direktori yang dapat diakses dari web sehingga dapat di akses oleh pengguna. Secara umum, skrip tersebut diberi nama index.php, tetapi boleh menggunakan nama lain, selama web server bisa mengakses skrip tersebut.

Skrip masuk untuk aplikasi konsol pada umumnya disimpan di dalam base path dari objek aplikasi dan diberi nama yii (dengan suffix .php). Skrip tersebut harus memiliki akses execute sehingga pengguna dapat menjalan aplikasi konsol menggunakan perintah ./yii <route> [argument] [option].

Skrip masuk umumnya mengerjakan tugas berikut ini:

Aplikasi Web

Kode berikut ini adalah kode yang terdapat pada skrip masuk Template Proyek Dasar.

<?php

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

// mendaftarkan autoloader Composer
require __DIR__ . '/../vendor/autoload.php';

// memasukkan file class Yii
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';

// Mengambil konfigurasi aplikasi
$config = require __DIR__ . '/../config/web.php';

// Membuat, mengkonfigurasi, dan menjalankan aplikasi
(new yii\web\Application($config))->run();

Aplikasi Konsol

Demikian juga dengan aplikasi konsol, kode berikut ini adalah kode yang terdapat pada skrip masuk aplikasi konsol :

#!/usr/bin/env php
<?php
/**
 * Yii console bootstrap file.
 *
 * @link https://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license https://www.yiiframework.com/license/
 */

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

// mendaftarkan autoloader composer
require __DIR__ . '/vendor/autoload.php';

// memasukkan file class Yii
require __DIR__ . '/vendor/yiisoft/yii2/Yii.php';

// Mengambil konfigurasi aplikasi
$config = require __DIR__ . '/config/console.php';

$application = new yii\console\Application($config);
$exitCode = $application->run();
exit($exitCode);

Menentukan Constant

Skrip masuk adalah file yang tepat untuk menentukan global constant. Yii mengenali tiga constant berikut ini:

  • YII_DEBUG: untuk menentukan apakah aplikasi sedang dalam mode debug. Pada saat mode debug, aplikasi akan menyimpan informasi log lebih banyak, dan akan menampilkan detail error urutan pemanggilan (error call stack) jika ada exception yang di-throw. Alasan inilah, kenapa mode debug sebaiknya digunakan pada tahap pengembangan. Nilai default dari YII_DEBUG adalah false.
  • YII_ENV: untuk menentukan pada mode environment manakah aplikasi ini dijalankan. Constant ini akan dijelaskan lebih lanjut di bagian Konfigurasi. Nilai default dari YII_ENV adalah prod, yang berarti aplikasi sedang dijalankan pada production environment.
  • YII_ENABLE_ERROR_HANDLER: untuk menentukan apakah akan mengaktifkan penanganan eror yang disediakan oleh Yii. Nilai default dari constant ini adalah true.

Untuk menentukan constant, kita biasanya menggunakan kode berikut ini:

defined('YII_DEBUG') or define('YII_DEBUG', true);

kode di atas memiliki tujuan yang sama dengan kode berikut ini:

if (!defined('YII_DEBUG')) {
    define('YII_DEBUG', true);
}

Jelas, kode yang pertama lah yang lebih ringkas dan lebih mudah untuk dimengerti.

Penentuan constant sebaiknya ditulis di baris-baris awal pada skrip masuk sehingga akan berfungsi ketika file PHP lain akan dimasukkan (include).

Found a typo or you think this page needs improvement?
Edit it on github !