Published on

Technology

Tips dan Pengertian dari Codeigniter 4

Algonz D.B. Raharja

H1_Codeigniter4.jpg

Pengembangan aplikasi berbasis situs jejaring (web) secara teknis melibatkan beberapa hal yang salah satunya adalah framework PHP (Hypertext Preprocessor). Beberapa framework PHP yang populer adalah Symfony, Laravel, Yii, dan Codeigniter. Kali ini kita akan membahas apa itu Codeigniter 4 yang merupakan generasi 4 dari framework PHP Codeigniter. Simak ulasannya berikut ini.

Htaccess Codeigniter 4


Codeigniter 4 merupakan kerangka kerja (framework) untuk pengembangan web (Sumber: zai.web.id)

Codeigniter 4 merupakan kerangka kerja (framework) PHP yang cukup kuat dengan dukungan berbagai toolkit sederhana namun elegan untuk membuat aplikasi web berfitur lengkap. Codeigniter 4 dikenal sebagai framework dengan tapak kecil yang hanya membutuhkan 1,2MB unduhan dan 6MB panduan pengguna. Meski begitu, Codeigniter 4 memiliki keunggulan dalam kinerja dan simplifikasi penggunaannya.

Seperti pada umumnya konfigurasi server web yang berjalan pada perangkat lunak berbasis web, diperlukan htaccess yang merupakan jenis dokumen konfigurasi. Dokumen dalam bentuk htaccess nantinya akan ditempatkan pada direktori yang lantas dimuat lewat server web. Dokumen ini nantinya akan terdeteksi dan dieksekusi oleh server web tersebut.

Codeigniter 4 hadir dengan dokumen .htaccess di dalam folder “Application” yang berisi “Allow Deny From All”. Kemudian, pengguna dapat membuat  dokumen .htaccess baru dalam direktori “https://localhost/ci/.htaccess”. Kemudian, dapat diisikan dengan kode berikut.

RewriteEngine On
RewriteBase /ci
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Atau, kamu juga bisa mengisikan dengan kode berikut ini.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
 
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]
 
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]
 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
 
<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule

Selanjutnya, pengguna bisa menyimpan dokumen kode tersebut dengan nama “.htaccess”. Sebagai catatan, proses penyimpanan dokumen htaccess dalam Codeigniter 4 ini dilakukan pada root folder tanpa menambahkan ekstensi apapun.

Baca juga: 5 Komunitas Developer Indonesia yang Membantu Skills Web Developer

Cara menampilkan data berdasarkan id dari Codeigniter 4


Codeigniter 4 dapat menunjang proses migrasi data dalam pengembangan web (Sumber: Pexels)

Dilansir dari Niagahoster, proses penambahan dan penampilan data berbasis “id” dalam Codeigniter 4 dapat dilakukan dengan membuat basis data dengan “phpMyAdmin” atau “migrate database”. Proses migrasi basis data ini bisa dilakukan dengan menuliskan perintah untuk membuat data karyawan berikut ini.

php spark migrate:create employees

1. Membuat dokumen migrasi basis data

Dokumen migrasi basis data karyawan di atas akan tersimpan pada folder “app/Database/Migration”. Secara lengkap, kamu bisa menyalin kode yang dibuat oleh Niagahoster berikut ini untuk mendefinisikan atribut pada tabel “employees”.

<?php
 
namespace App\Database\Migrations;
 
use CodeIgniter\Database\Migration;
 
class Employees extends Migration
{
    public function up()
    {
        // Membuat kolom/field untuk tabel karyawan
        $this->forge->addField([
            'id'          => [
                'type'           => 'INT',
                'constraint'     => 5,
                'unsigned'       => true,
                'auto_increment' => true
            ],
            'nama_karyawan'       => [
                'type'           => 'VARCHAR',
                'constraint'     => '255'
            ],
            'usia'      => [
                'type'           => 'INT',
                'constraint'     => 2,
            ],
            'status_vaksin_1'      => [
                'type'           => 'ENUM',
                'constraint'     => ['sudah', 'belum'],
                'default'        => 'belum',
            ],
            'status_vaksin_2'      => [
                'type'           => 'ENUM',
                'constraint'     => ['sudah', 'belum'],
                'default'        => 'belum',
            ],
        ]);
 
        // Membuat primary key
        $this->forge->addKey('id', TRUE);
 
        // Membuat tabel karyawan
        $this->forge->createTable('employees', TRUE);
    }
 
    //-------------------------------------------------------
 
    public function down()
    {
        // menghapus tabel karyawan
        $this->forge->dropTable('employees');

2. Melakukan migrasi 

Proses migrasi data dilakukan dengan menggunakan fungsi “up()” dan akan berperan pada pembuatan dokumen dengan lima atribut utama misalnya “id”, “nama_karyawan”, “usia”, “status_vaksin_1”, “status_vaksin_2”.

Selanjutnya, fungsi “down()” akan digunakan untuk melakukan rollback atau penghapusan tabel employees pada basis data. Jika semua dokumen migrasi sudah diisi maka tuliskan perintah berikut untuk melakukan migrasi.

php spark migrate

Setelah itu akan muncul keterangan “Done migrations” yang berarti proses migrasi berhasil.


Keterangan migrasi berhasil (Sumber: niagahoster.co,id)

Tahapan selanjutnya adalah pengecekan pada basis data melalui “phpMyAdmin” untuk melihat keberadaan tabel baru yaitu “migrations” dan “employees”. Tabel pertama yang bernama “migrations” merupakan tabel yang terbuat untuk menyimpan data versi migrasi secara otomatis. Sedangkan, tabel “employees” merupakan tabel dasar dari dokumen migrasi.

3. Membuat kode untuk menyertakan data di Codeigniter 4

Tahapan selanjutnya adalah membuat kode untuk “insert data” pada Codeigniter 4 dengan penamaan “Employee_model.php” lewat kode berikut ini.

<?php
 
namespace App\Models;
 
use CodeIgniter\Model;
 
class Employee_model extends Model
{
    protected $table = 'employees';
 
    public function getKaryawan($id = false)
    {
        if ($id === false) {
            return $this->findAll();
        } else {
            return $this->getWhere(['id' => $id]);
        }
    }
 
    public function saveKaryawan($data)
    {
        $builder = $this->db->table($this->table);
        return $builder->insert($data);
    }
}

Terdapat dua fungsi utama dalam kode di atas yang terdiri atas fungsi “getKaryawan()” dan “saveKaryawan()”. Fungsi pertama berguna untuk memanggil semua data untuk ditampilkan, sedangkan fungsi kedua digunakan untuk menyimpan data yang baru masuk ke basis data.

Setelah itu, untuk mengontrol dokumen perlu dibuat apa yang disebut “file controller” dengan nama “Employee.php” dengan menyalin kode dari Niagahoster berikut ini.

<?php
 
namespace App\Controllers;
 
use CodeIgniter\Controller;
use App\Models\Employee_model;
 
class Employee extends Controller
{
    public function index()
    {
        $model = new Employee_model;
        $data['title']     = 'Data Vaksin Karyawan';
        $data['getKaryawan'] = $model->getKaryawan();
 
        echo view('header', $data);
        echo view('employee_view', $data);
        echo view('footer', $data);
    }
 
    public function add()
    {
        $model = new Employee_model;
        $data = array(
            'nama_karyawan' => $this->request->getPost('nama_karyawan'),
            'usia'         => $this->request->getPost('usia'),
            'status_vaksin_1'  => $this->request->getPost('status_vaksin_1'),
            'status_vaksin_2'  => $this->request->getPost('status_vaksin_2')
        );
        $model->saveKaryawan($data);
        echo '<script>
                alert("Selamat! Berhasil Menambah Data Vaksinasi Karyawan");
                window.location="' . base_url('employee') . '"
            </script>';
    }
 
}

Fungsi utama dari kode di atas adalah “index()” yang berperan untuk membentuk tampilan awal aplikasi saat dibuka. Fungsi ini pula yang nantinya memanggil fungsi “getkaryawan()” untuk menampilkan data keseluruhan karyawan di basis data. Sedangkan, fungsi “add()” berguna untuk mengambil yang dimasukkan lewat formulir “view tambah data”.

Baca juga: Apa Itu Net Framework Serta Fungsi, Cara Kerja, dan Kelebihannya

Cara membuat notifikasi dengan Codeigniter 4


Codeigniter 4 secara umum digunakan untuk membuat aplikasi berbasis web (Sumber: Pexels)

Selain melakukan proses migrasi data, Codeigniter 4 juga dapat digunakan untuk membuat notifikasi dengan cara sebagai berikut.

  • Mengunduh proyek Codeigniter 4, langkah pertama adalah kamu perlu mengunduh Codeigniter 4 versi terbaru lewat tautan berikut ini. Setelahnya, kamu bisa membuka pengaturan baru dan unzip pengaturan di sistem perangkatmu dengan “xampp/htdocs/” dan ubah nama folder menjadi unduhan “demo”.
  • Konfigurasi dasar, langkah kedua adalah mengatur beberapa konfigurasi dasar pada dokumen “app/config/app.php” dan buka dokumen ini seperti tampilan berikut.
public $baseURL = 'http://localhost:8080';
To
public $baseURL = 'http://localhost/demo/';
  • Membuat controller, langkah selanjutnya adalah membuat pengontrol dengan mengakses “app/Controllers” dan buat nama pengontrol yaitu “Notification.php”. Selanjutnya, kamu perlu menambahkan kode berikut ini.
<?php namespace App\Controllers;
 
use CodeIgniter\Controller;
 
 
class Notification extends Controller
{
    public function index()
    {    
         return view('index');
    }
 
    public function sendPushNotification()
    { 
         
        $val = $this->validate([
            'nId' => 'required',
        ]);
 
        $notification_id = $this->request->getVar('nId');
        $title = 'Demo Notification';
        $message = 'First codeigniter notification for mobile';
        $d_type    = $this->request->getVar('device_type');  // for android or IOS
 
        $accesstoken = 'YOUR FCM KEY';
 
        $URL = 'https://fcm.googleapis.com/fcm/send';

            $post_data = '{
                "to" : "' . $notification_id . '",
                "data" : {
                  "body" : "",
                  "title" : "' . $title . '",
                  "type" : "' . $d_type . '",
                  "id" : "' . $id . '",
                  "message" : "' . $message . '",
                },
                "notification" : {
                     "body" : "' . $message . '",
                     "title" : "' . $title . '",
                      "type" : "' . $d_type . '",
                     "id" : "' . $id . '",
                     "message" : "' . $message . '",
                    "icon" : "new",
                    "sound" : "default"
                    },
 
              }';
            // print_r($post_data);die;
 
        $crl = curl_init();
 
        $headr = array();
        $headr[] = 'Content-type: application/json';
        $headr[] = 'Authorization: ' . $accesstoken;
        curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, false);
 
        curl_setopt($crl, CURLOPT_URL, $URL);
        curl_setopt($crl, CURLOPT_HTTPHEADER, $headr);
 
        curl_setopt($crl, CURLOPT_POST, true);
        curl_setopt($crl, CURLOPT_POSTFIELDS, $post_data);
        curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
 
        $rest = curl_exec($crl);
 
        if ($rest === false) {
            // throw new Exception('Curl error: ' . curl_error($crl));
            //print_r('Curl error: ' . curl_error($crl));
            $result_noti = 0;
        } else {
 
            $result_noti = 1;
        }
 
        echo view('success');
    }
}
  • Membuat tampilan, untuk melakukan langkah ini kamu perlu membuat dokumen “index.php.” dengan cara mengakses folder “application/views/” dan buat dokumen “index.php.” lalu tambahkan HTML dengan kode berikut ke dalam dokumen tersebut.
<!DOCTYPE html>
<html>
<head>
  <title>Codeigniter 4 Send Push Notification using Google FCM Example</title>
 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
 <div class="container">
    <br>
    <?= \Config\Services::validation()->listErrors(); ?>
 
    <div class="row">
      <div class="col-md-9">
        <form action="<?php echo base_url('public/index.php/notification/sendPushNotification') ?>" method="post" accept-charset="utf-8">
 
          <div class="form-group">
            <label for="formGroupExampleInput">Device Type</label>
              <select class="form-control" id="device_type" name="device_type" required="">
              <option value="">Select Device type</option>
                
                    <option value="android">Android</option>
                    <option value="iphone">IOS</option>
   
              </select>
          </div>           
 
          <div class="form-group">
            <label for="formGroupExampleInput">Notification Id</label>
            <input type="text" name="nId" class="form-control" id="formGroupExampleInput" placeholder="Please enter notification id" required="">
             
          </div>
 
          <div class="form-group">
           <button type="submit" id="send_form" class="btn btn-success">Submit</button>
          </div>
        </form>
      </div>
 
    </div>
  
</div>
</body>
</html>

Baca juga: Panduan Menggunakan Framework Bootstrap Bagi Pemula

Nah, itulah tadi beberapa hal yang perlu kamu ketahui dari Codeigniter 4. Kamu bisa mempelajarinya secara perlahan jika ingin belajar menjadi seorang Web Developer. Bagi kamu yang tengah mencari jalan untuk memulai kariermu, EKRUT hadir sebagai rekan profesional buat kamu. Kamu bisa mendapatkan berbagai informasi mengenai pengembangan karier dan juga berbagai kesempatan kerja lewat EKRUT. Dengan mendaftar lewat EKRUT, kamu akan mendapat potensi besar untuk direkrut berbagai perusahaan bonafide di Indonesia. Kamu hanya perlu menyiapkan CV dan portofolio terbaik yang kamu punya untuk langsung mendaftar lewat EKRUT dengan klik tautan di bawah ini.

Sumber:

  • tutsmake.com
  • codeigniter.com
  • niagahoster.co.id

Tags

Share

Apakah Kamu Sedang Mencari Pekerjaan?

    Already have an account? Login

    Artikel Terkait

    H1_Mengenal_Web_Server.jpg

    Technology

    Mengenal Web Server: Pengertian, Cara Kerja, Fungsi, dan Jenisnya

    Natasya Primatyassari

    30 September 2022
    6 min read
    H1_website_jurnal.jpg

    Lainnya

    10+ Rekomendasi Website Jurnal Gratis 2022

    Nurina Ulfah

    30 September 2022
    5 min read
    H1-10_Cara_Membuat_Foto_HD_dengan_Mudah_dan_Cepat.jpg

    Technology

    10 Cara Membuat Foto HD dengan Mudah dan Cepat Secara Online

    Lita Lia

    30 September 2022
    5 min read

    Video