CodeIgniter : 4 Pengertian, Tutorial, dan Instalasi Pada Komputer Windows | Code Editor VSCode - MAKALAH SERBA ADA
Pemberitahuan! Website akan maintenance pada tanggal 28 - 30 Oktober 2023

CodeIgniter : 4 Pengertian, Tutorial, dan Instalasi Pada Komputer Windows | Code Editor VSCode

tutorial instalasi codeigniter 4 di windows/vscode

Apa itu CodeIgniter?

MakalahSerbaAda.Com - CodeIgniter adalah framework PHP MVC yang digunakan untuk mengembangkan aplikasi web dengan cepat. CodeIgniter menyediakan library di luar kotak untuk menghubungkan ke database dan melakukan berbagai operasi seperti mengirim email, mengunggah file, mengelola sesi, dll.

Fitur CodeIgniter

Mari kita lihat beberapa fitur yang membuat CodeIgniter hebat. Daftar berikut ini tidak lengkap tetapi memberi Anda gambaran tentang apa yang diharapkan ketika bekerja dengan CodeIgniter

Simak penjelasan lengkap artikel terbaru dibawah ini

Small footprint

Seluruh kode sumber untuk kerangka CodeIgniter mendekati 2MB. Ini memudahkan untuk menguasai CodeIgniter dan cara kerjanya. Ini juga menyederhanakan penerapan dan pembaruannya.

Blazing fast

Pengguna cenderung menyukai aplikasi yang memuat sangat cepat. Jika Anda telah bekerja dengan beberapa kerangka kerja modern, maka Anda akan menyadari bahwa mereka membutuhkan waktu kurang dari satu detik untuk memuat setelah penginstalan. CodeIgniter, Anda dapat memuat rata-rata sekitar kurang dari 50ms. Waktu ekstra yang dihabiskan untuk mengoptimalkan seperti yang terjadi di kerangka kerja lain dibebaskan ketika Anda bekerja dengan kerangka CodeIgniter.

Loosely coupled

Fitur bawaan dirancang untuk bekerja secara independen tanpa terlalu bergantung pada komponen lain. Ini membuatnya mudah untuk mempertahankan dan melakukan peningkatan

MVC Architecture

Framework PHP CodeIgniter menggunakan desain arsitektur Model-View-Controller. Ini adalah praktik standar industri saat bekerja dengan aplikasi web. MVC memisahkan data, logika bisnis, dan presentasi.

Excellent documentation

Kerangka kerja didokumentasikan dengan baik, dan ada buku bagus, tutorial, dan pertanyaan forum yang dijawab di CodeIgniter. Ini berarti tantangan apa pun yang Anda miliki, kemungkinan seseorang telah mengalami masalah tersebut, menyelesaikannya dan solusinya ada untuk Anda.

Application specific built-in components:

CodeIgniter memiliki komponen untuk mengirim email, manajemen basis data, manajemen sesi, dan banyak lagi seperti yang akan Anda temukan saat kami melanjutkan tutorial.

Extendable:

CodeIgniter hadir dengan beberapa perpustakaan, dan pembantu di luar kotak. Jika yang Anda inginkan tidak ada atau Anda ingin menerapkan fitur yang ada dengan cara Anda. Kemudian Anda dapat melakukannya dengan mudah dengan membuat perpustakaan, pembantu, paket, dll. Anda juga dapat membuat REST API di CodeIgniter.

Short learning curve:

CodeIgniter mudah dikuasai bagi siapa saja yang sudah terbiasa dengan PHP. Dalam waktu yang sangat singkat, siswa dapat Mempelajari CodeIgniter dan mulai mengembangkan aplikasi profesional menggunakan CodeIgniter.

Bagaimana CodeIgniter Bekerja?

CodeIgniter adalah kerangka kerja MVC. MVC adalah singkatan dari Model View Controller. Saat pengguna meminta sumber daya, pengontrol merespons terlebih dahulu. Controller memahami permintaan pengguna kemudian meminta data yang diperlukan jika diperlukan.

Misalnya, jika Anda ingin mengambil pelanggan dengan id= 3, controller akan menerima permintaan Anda, kemudian meminta model CodeIgniter untuk mengambil record dengan id 3. Model CodeIgniter akan mengembalikan record ke controller. Pengontrol kemudian meneruskan hasilnya ke tampilan yang memformatnya ke dalam format yang dapat dibaca manusia. Kemudian hasilnya dikembalikan ke pengguna di browser.

Untuk melihat tutorial silahkan klik layer 2/Instalasi pada Tabs diatas.

1. Instal CodeIgniter 4

Untuk proses install codeigniter 4 bisa dilakukan dengan dua cara yaitu manual dan dengan menggunakan composer. Saya sarankan menggunakan metode Composer.

Instal Dengan Cara manual

Silahkan download file CodeIgniter 4 pada link berikut :

https://codeigniter.com

Kemudian ekstrak di server web Anda.

Jika Anda menggunakan XAMPP, ekstrak di folder:

C:\xampp\htdocs

Jika Anda menggunakan WAMPSERVER, ekstrak di folder:

C:/wamp64/www

Ganti nama nama folder, sesuaikan dengan nama proyek teman-teman semua.

Instal Dengan Komposer

Di folder di atas root proyek Anda:

composer create-project codeigniter4/appstarter project-root

Perintah di atas akan membuat folder "project-root".

Jika Anda menghilangkan argumen "project-root", perintah akan membuat folder "appstarter", yang dapat diganti namanya sesuai kebutuhan.

Jika Anda tidak perlu atau ingin menginstal phpunit, dan semua dependensi penyusunnya, tambahkan opsi –no-dev ke akhir baris perintah di atas. Itu hanya akan menghasilkan kerangka kerja, dan tiga dependensi tepercaya yang kami bundel, yang diinstal oleh komposer.

Contoh perintah instalasi seperti itu, menggunakan "appstarter" project-root default:

2. Buat Database dan Tabel

Sebelum membuat tabel teman, Anda harus mengatur .env di codeigniter 4.

Selanjutnya, cari kode berikut:

# CI_ENVIRONMENT = production

Kemudian ubah menjadi seperti ini:

# CI_ENVIRONMENT = development

Sobat semua, untuk membuat database menggunakan codeigniter 4 bisa dilakukan dengan dua cara lagi. Bisa dilakukan secara manual dengan membuat di phpmyadmin atau teman-teman semua bisa melakukan dengan migrasi. Saya sarankan menggunakan migrasi.

Silahkan sobat semua buka terminal kita akan melakukan migrasi data.

Kemudian ketik perintah berikut untuk membuat file migrasi:

php spark migrate: create user

Perintah tersebut akan membuat file dengan nama 2022–04–25–061811_Users.php, di dalam folder app/Database/Migration.

Tanggal dan waktu di awal nama file menunjukkan versi migrasi.

Berikut isi file 2022–04–25–061811_Users.php.

<?php

namespace App\Database\Migrations;

use CodeIgniter\Database\Migration;

class Users extends Migration
{
    public function up()
    {
        //
    }

    public function down()
    {
        //
    }
}

Pada class Users terdapat dua method yaitu up() dan down(). Metode ini akan dijalankan saat bermigrasi.

Metode up() akan dieksekusi saat melakukan migrasi, sedangkan down() akan dieksekusi saat melakukan rollback.

Silahkan ubah kode pada file 2022–04–25–061811_Users.php menjadi seperti ini:

forge->addField([
			'id'          => [
				'type'           => 'INT',
				'constraint'     => 5,
				'unsigned'       => true,
				'auto_increment' => true
			],
			'name'       => [
				'type'           => 'VARCHAR',
				'constraint'     => '255'
			],
			'email'      => [
				'type'           => 'VARCHAR',
				'constraint'     => '255',
			],
			'password' => [
				'type'           => 'VARCHAR',
				'constraint'     => '255',
			],
			'created_at'      => [
				'type'           => 'TIMESTAMP',
				'null'           => true,
			],
		]);

		// primary key
		$this->forge->addKey('id', TRUE);

		// tabel users
		$this->forge->createTable('users', TRUE);
    }

    public function down()
    {
        $this->forge->dropTable('users');
    }
}

Oke sekarang kita coba lakukan migrasi pertama.

Lakukan migrasi dengan perintah:

php spark migrate

Output:

3. Buat file Model

Dalam tutorial ini, hanya satu file model yang dibutuhkan yaitu “UserModel.php”.

Buat file model bernama “UserModel.php” di folder “app/Models”, lalu ketikkan kode berikut:

	<?php namespace App\Models;
 
use CodeIgniter\Model;
 
class UserModel extends Model{
    protected $table = 'users';
    protected $allowedFields = ['name','email','password','created_at'];
}

4. Buat file Controller Register.php

Buat file controller dengan nama “Register.php” di folder “app/Controllers”, lalu ketikkan kode berikut:

Pada controller “Register.php” di atas terdapat dua fungsi yaitu: function index(), dan function save().

Fungsi index(), berfungsi untuk menampilkan view bernama “register”, sedangkan fungsi save() berfungsi untuk menyimpan data ke tabel “users” di database serta melakukan enkripsi password dengan fungsi password_hash().

5. Buat file View register.php

Buat file view bernama “register.php” di folder “app/Views”, lalu ketikkan kode berikut:

Pada tampilan “register.php”, kita memanggil CDN Bootstrap 5, baik CSS maupun JavaScript.

Kunjungi URL berikut untuk info lebih lanjut tentang Bootstrap 5:

https://v5.getbootstrap.com/

Selain itu terdapat juga form untuk mendaftar berupa : input nama, email, password, dan Confirm password.

6. Buat file Controller Login.php

Buat file Controller lain bernama “Login.php” di folder “app/Controllers”, lalu ketikkan kode berikut:

request->getVar('email');
        $password = $this->request->getVar('password');
        $data = $model->where('email', $email)->first();
        if($data){
            $pass = $data['password'];
            $verify_pass = password_verify($password, $pass);
            if($verify_pass){
                $ses_data = [
                    'id'       => $data['id'],
                    'name'     => $data['name'],
                    'email'    => $data['email'],
                    'logged_in'     => TRUE
                ];
                $session->set($ses_data);
                return redirect()->to('/dashboard');
            }else{
                $session->setFlashdata('msg', 'Wrong Password');
                return redirect()->to('/login');
            }
        }else{
            $session->setFlashdata('msg', 'Email not Found');
            return redirect()->to('/login');
        }
    }
 
    public function logout()
    {
        $session = session();
        $session->destroy();
        return redirect()->to('/login');
    }
}

Pada controller “Login.php” di atas terdapat tiga fungsi, yaitu: function index(), function auth(), dan function logout().

Fungsi index() digunakan untuk menampilkan tampilan bernama “login” yang akan menampilkan form login.

Fungsi auth() digunakan untuk mengotentikasi dan mengatur variabel sesi jika otentikasi valid.

Fungsi logout() digunakan untuk logout dan menghancurkan variabel sesi.

7. Buat file View login.php

Buat file view lain dengan nama “login.php” di folder “app/Views”, lalu ketikkan kode berikut:

	<!doctype html>
<thtml lang="en">
  <thead>
    <!-- Required meta tags -->
    <!meta charset="utf-8">
   <!meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css" integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I" crossorigin="anonymous">
 
    <title>Login</title>
  </head>
  <body>
    <div class="container">
       <div class="row justify-content-md-center">
 
            <div class="col-6">
                <h1>Sign In</h1>
                <?php if(session()->getFlashdata('msg')):?>
                    <div class="alert alert-danger">?= session()->getFlashdata('msg') ?></div>
                <?php endif;?>
                <form action="/login/auth" method="post">
                    <div class="mb-3">
                        <label for="InputForEmail" class="form-label">Email address</label>
                        <input type="email" name="email" class="form-control" id="InputForEmail" value="<?= set_value('email') ?>">
                    </div>
                    <div class="mb-3">
                        <label for="InputForPassword" class="form-label">Password</label>
                        <input type="password" name="password" class="form-control" id="InputForPassword">
                    </div>
                    <button type="submit" class="btn btn-primary">Login</button>
                </form>
             </div>
             
        </div>
    </div>
     
    <!-- Popper.js first, then Bootstrap JS -->
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/js/bootstrap.min.js" integrity="sha384-oesi62hOLfzrys4LxRF63OJCXdXDipiYWBnvTl9Y9/TRlw5xlKIEHpNyvvDShgf/" crossorigin="anonymous"></script>
  </body>
</html>
Pada tampilan “login.php”, kita juga memanggil Bootstrap 5 CDN, baik CSS maupun JavaScript.

Selain itu juga terdapat form untuk login berupa : input email dan password.

8. Buat file Controller Dashboard.php

Selain Controller Register.php dan Login.php, buat file Controller lain bernama “Dashboard.php” di folder “app/Controllers”.

Kemudian ketik kode berikut:

get('name');
    }
}

Pada controller “Dashboard.php” hanya ada satu fungsi yaitu fungsi index() yang berfungsi untuk menampilkan teks “Welcome Back [login username]”.

Tujuan dari controller ini nantinya adalah untuk diproteksi agar pengguna tidak dapat mengakses Dashboard tanpa melakukan login.

9. Buat file Filter Auth.php

CodeIgniter 4 menyediakan fitur Filter yang berfungsi untuk menangani Before Request atau After Request.

Fitur ini sangat berguna untuk menangani pengecekan atau validasi setiap request atau beberapa request yang ditulis dengan kode yang sama.

Ini mungkin terdengar rumit, tetapi sebenarnya tidak.

Dalam hal ini, kita akan melindungi fungsi index() pada Controller Dashboard.php dari pengguna yang belum login menggunakan Filter.

Dengan begitu, Anda akan memiliki gambaran umum tentang cara kerja Filter di CodeIgniter 4.

Buat file Filter bernama “Auth.php” di folder “app/Filters”, lalu ketikkan kode berikut:

Pada filter “Auth.php” di atas terdapat 2 fungsi, yaitu: fungsi sebelum() dan fungsi setelah().

Dalam hal ini, kita hanya bermain dengan fungsi before().

Fungsi before, berfungsi untuk memvalidasi request sebelum request itu sendiri dibuat.

Pada filter “Auth.php” di atas, kami mengarahkan pengguna ke halaman login jika mereka mengakses halaman sebelum login.

Ini dapat berlaku secara global, dengan kata lain, berlaku untuk setiap permintaan, atau hanya dapat berlaku untuk beberapa permintaan.

Dalam hal ini, kami hanya menggunakannya untuk melindungi Controller “Dashboard.php”.

Jadi, kami tidak memberlakukannya secara global, karena kami ingin Controller Login.php dan Register.php tetap bisa diakses tanpa login.

Selanjutnya buka file “Filters.php” yang terletak di folder “app/Config”, lalu cari kode berikut:

$routes->get('/', 'Home::index');
$routes->get('/', 'Home::index');
$routes->get('/dashboard', 'Dashboard::index',['filter' => 'auth']);

10. Pengujian

php spark serve
Baca juga tutorial lainnya disini: Sekian tutorial pembahasan Codeigniter kali ini, semoga bermanfaat, jika ada pertanyaan silahkan tinggalkan komentar.

Ringkasan

  1. CodeIgniter adalah kerangka kerja PHP untuk mengembangkan aplikasi dengan cepat
  2. Seluruh kode sumber untuk CodeIgniter mendekati 2MB.
  3. Ini memudahkan untuk menguasai CodeIgniter dan cara kerjanya
  4. Fitur bawaan CodeIgniter dirancang untuk bekerja secara independen tanpa terlalu bergantung pada komponen lain
  5. Kerangka kerja ini menggunakan desain arsitektur Model-View-Controller
  6. Kerangka kerja didokumentasikan dengan baik, dan itu adalah buku yang bagus, tutorial, dan pertanyaan forum yang dijawab di CodeIgniter
  7. CodeIgniter hadir dengan beberapa perpustakaan, dan membantu pengguna di luar kotak
  8. CodeIgniter mudah dikuasai bagi siapa saja yang sudah terbiasa dengan PHP
  9. Di CodeIgniter pengguna meminta sumber daya, pengontrol merespons terlebih dahulu.
  10. Pengontrol memahami permintaan pengguna kemudian meminta data yang diperlukan jika itu penting
  11. Codeigniter 4 dirilis Pada tanggal 24 Februari 2020, hari ulang tahun Jim Parry yang merupakan project lead
  12. Codeigniter 4 dan meninggal pada tanggal 15 Januari 2020

Pilih opsi donasi!

BNI - Fauzia Ramadhan - (null)
Merasa terbantu dengan artikel ini? Ayo dukung dengan donasi. Klik tombol merah.
Author & Publisher of articles on the "Makalah Serba Ada" Website page

2 comments

  1. gg
  2. mantappp
Berikan Feedback Terbaik Untuk Artikel Ini
© ‧ MAKALAH SERBA ADA. All rights reserved. Developed by Jago Desain