Pengaturan CodeIgniter 4 yang saya gunakan

irfan-photo irfan · 3 bulan lalu

sebelum menggunakan codeigniter 4, saya selalu melakukan konfigurasi terlebih dahulu, agar nantinya program yang dibuat berjalan dengan lancar tanpa adanya gangguan sedikitpun

apa saja yang selalu saya konfigurasi, langsung saja saya bahas

1. Membuat BASE_URL menjadi Dinamis

membuat BASE_URL menjadi dynamis adalah hal yang saya lakukan agar tidak selalu mengubah property $baseURL setiap saat, berikut cara melakukannya

Tambahkan kode dibawah ini pada file app/Config/Constants.php

/*
 | --------------------------------------------------------------------------
 | BASE URL
 | --------------------------------------------------------------------------
 |
 | dynamic create url for base_url() function
 */
$server_name = !empty($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'localhost:8080';
$base_url = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$base_url .= "://" .  $server_name;
if ($server_name == 'localhost' OR filter_var($server_name, FILTER_VALIDATE_IP)) {
    $base_url .= str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']);
}
defined('BASE') || define('BASE', $base_url);
Edit Kode pada file app/Config/App.php dan sesuaikan property yang ada dengan format dibawah dibawah ini
  • public $baseURL = BASE;
  • public $indexPage = '';

2. Mengatur Timezone dan Bahasa Aplikasi

pengaturan lainnya yang harus dilakukan adalah mengatur timezone, yaitu dengan cara masuk kedalam folder app/Config/App.php

cari property $appTimezone dan ganti menjadi
public $appTimezone = 'Asia/Jakarta';

untuk mengatur bahasa masih didalam file yang sama yaitu app/Config/App.php, tinggal disesuaikan saja propertynya seperti yang ada dibawah ini

  • public $defaultLocale = 'id';
  • public $supportedLocales = ['id','en'];

3. Mengaktifkan Mode development

mengaktifkan environment development

dengan mangaktifkan mode development nantinya setiap ada kode yang error maka akan memunculkan letaknya dimana dan kenapa

selain itu dengan mengaktifkan mode development akan ada toolbar untuk mendebug aplikasi kalian berjalan seberapa cepat dan apa saja yang diprosesnya

untuk mengaktifkannya yaitu dengan mengedit file '.env', berikut kode yang harus disesuaikan

#--------------------------------------------------------------------
# ENVIRONMENT
#--------------------------------------------------------------------

CI_ENVIRONMENT = development

perhatikan juga saat install pertama kali ci 4 file '.env' ditulis 'env' (belum ada titiknya) jadi silahkan direname dengan menambahkan titik didepannya

4. Pengaturan .htacces(s)

untuk pengaturan .htacces(s) ini saya gunakan agar saat diupload kehosting bisa menghandle segala error dan meningkatkan keamanan

edit file public/.htacces(s) dan ganti menjadi kode dibawah ini

# Disable directory browsing
Options All -Indexes

# ----------------------------------------------------------------------
# Rewrite engine
# ----------------------------------------------------------------------

# Turning on the rewrite engine is necessary for the following rules and features.
# FollowSymLinks must be enabled for this to work.
<IfModule mod_rewrite.c>
	Options +FollowSymlinks

	RewriteEngine On

	# Checks to see if the user is attempting to access a valid file,
	# such as an image or css document, if this isn't true it sends the
	# request to the front controller, index.php
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule ^([\s\S]*)$ index.php/$1 [L,NC,QSA]

	# Ensure Authorization header is passed along
	RewriteCond %{HTTP:Authorization} .
	RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]	

	# http to https
	RewriteCond %{HTTP:X-Forwarded-Proto} !https
	RewriteCond %{HTTPS} off
	RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

	# non www to www
	RewriteCond %{HTTP_HOST} !^www\. [NC]
	RewriteCond %{HTTP_HOST} !^tools\. [NC]
	RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

	# Set HSTS env var only if HTTPS
	RewriteCond %{HTTPS} on
	RewriteRule ^ - [E=HSTS:1]
</IfModule>

<IfModule !mod_rewrite.c>
	# If we don't have mod_rewrite installed, all 404's
	# can be sent to index.php, and everything works as normal.
	ErrorDocument 404 index.php
</IfModule>

# Disable server signature start
	ServerSignature Off
# Disable server signature end

# Set STS header only when the HSTS env var is set (including redirects)
Header always set Strict-Transport-Security "max-age=31536000" env=HSTS

# remove x-powered-by
Header unset X-Powered-By

Download Source Code

Terakhir diupdate 07 Jun 2022 10:42 WIB
Daftar Konten Belajar CodeIgniter 4