Tutorial Codeigniter 4 Untuk Pemula Lengkap

24 Juni 2022



Selamat Sore kawan, pada hari Jumat ini mimin akan berbagi tutorial yaitu Tutorial Codeigniter 4 untuk Pemula lengkap

 

Ini adalah catatan saya untuk ngoding codeigniter agar tidak lupa

 

Cara instal codeigniter 4 lewat composer

composer create-project codeigniter4/appstarter folderkalian --no-dev

kemudian silakan ganti file env menjadi .env

.env

 

dan silakan ganti CI_ENVIRONMENT menjadi

CI_ENVIRONMENT = development

 

Membuat Models 

<?php 

namespace App\Models;
 
use CodeIgniter\Model;
 
class AdminModels extends Model{
    protected $table = 'tb_admin';
    protected $primaryKey = 'id_admin';
    protected $allowedFields = ['id_admin','nama','email','password','role','status'];
}

 

 

Setting Controller 

<?php namespace App\Controllers;


use CodeIgniter\Controller;
use App\Models\AdminModels;

 

QUERY BUILDER CODEIGNITER 4

 

Ambil 10 data kemudian urutkan berdasarkan id_produk

$M_Barang = new Models_Produk();

$produk => $M_Barang->orderBy('id_produk', 'DESC')->get(10)->getResultArray();
        

Urutkan random

$M_Barang->orderBy('rand()', 'DESC')->get(4)->getResultArray();

 

Session Flash Data

$session = session();
        $session->setFlashdata('sukses', "Berhasil Mendaftar");
        return redirect()->to('daftar');

mengecek status session aktif atau tidak

if(session()->getFlashdata('sukses'))

 

Ambil Request dari form

$this->request->getVar('cari');

 

Proses Login Di Controller

public function proses_login()
    {
        $Models_users = new Models_users();
        $session = session();
        $user = $this->request->getVar('email');
        $pass = $this->request->getVar('pass');

         $dataUser = $Models_users->where([
            'email' => $user,
            'password' => $pass,
        ])->first();

         if ($dataUser) {
            return redirect()->to('/');
         }else {
            $session->setFlashdata('error', "<p style='color:red; text-align:center'>Email atau password salah</p>");
            return redirect()->to('login');
         }
     }

 

Cara melihat session 

$session = session();
$user = $session->get("id_user");

 

Hapus Session / session destroy

$session = session();
$session->destroy();
return redirect()->to('login');

 

Hapus data

 $this->ModelArsip->where(['unique_arsip' => $id])->delete();

Routes

$routes->get('/produk', 'Users::produk');
$routes->add('/add/(:num)', 'Users::add/$1');

 

Membuat Href agar tidak berfungsi

letakkan di a href="disini"

javascript:void(0);

 

 

Membuat template ( di bagian template)

<?= $this->renderSection('plugin') ?>

 

panggil template

<?= $this->extend('layout/template'); ?>
<?= $this->section('content') ?>

isinya konten

<?= $this->endSection(); ?>

 

 

Cara hitung data count()

$Models_users = new Models_users();
$M = $Models_users->where(["id_user"=> 1])->countAllResults();
// kondisi

$Models_users = new Models_users();
$M = $Models_users->countAllResults();
// semua

 

MEMBUAT SESSION

$ses_data = [
                    'user_id'       => $data['user_id'],
                    'user_name'     => $data['user_name'],
                    'user_email'    => $data['user_email'],
                    'logged_in'     => TRUE
                ];
                $session->set($ses_data);

 

Redirect kalau belum login

public function __construct(){
        if (!session()->get('id_user')) {
            header('Location: '.base_url('/login'));
            exit(); 
        }  
    }

 

 

Manual Connet Ke database

 $db = \Config\Database::connect();
$jumlah_latihan = $db->query("SELECT id_latihan FROM tb_jawab WHERE id_latihan = '$id_latihan'")->resultID->num_rows;

 

 

 

 

PENGECEKAN LOGIN DI CONSTRUCT

public function __construct(){

        // Mengecek Login
        if (!session()->get('login')) {
            header('Location: '.base_url('/login'));
            exit(); 
        } 
    }

 

Cara Update Data

 

Cara Update Batch

update batch adalah untuk mengubah banyak data dalam satu query

$explode = explode(",", $hasil_checkbox);
         $index = 0;
         foreach ($explode as $k) {
            if (intval($k) > 0) {
                $data_arr_check[] = [
                    "id_arsip"              => $k,
                    "status_from_bidang"    => "diserahkan"
                ];
            }            
            $index++;
         }
         $ModelArsip   = new ModelArsip;
         $ModelArsip->updateBatch($data_arr_check,'id_arsip');

 

 

 

#Tutorial Codeigniter 4 #Tutorial Codeigniter 4 #Tutorial Codeigniter 4 untuk Pemula lengkap