<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ibnu Alboneh</title>
    <description>The latest articles on DEV Community by Ibnu Alboneh (@ibnfzy).</description>
    <link>https://dev.to/ibnfzy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1317820%2Fbdc676a1-6fbc-4041-aae6-593c86742c2b.png</url>
      <title>DEV Community: Ibnu Alboneh</title>
      <link>https://dev.to/ibnfzy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ibnfzy"/>
    <language>en</language>
    <item>
      <title>Bagaimana cara saya membuat sebuah Website CRUD di PHP Codeigniter 4 dengan cepat</title>
      <dc:creator>Ibnu Alboneh</dc:creator>
      <pubDate>Sat, 09 Mar 2024 10:30:43 +0000</pubDate>
      <link>https://dev.to/ibnfzy/bagaimana-cara-saya-membuat-sebuah-website-crud-di-php-codeigniter-4-dengan-cepat-4a0e</link>
      <guid>https://dev.to/ibnfzy/bagaimana-cara-saya-membuat-sebuah-website-crud-di-php-codeigniter-4-dengan-cepat-4a0e</guid>
      <description>&lt;p&gt;CRUD adalah salah satu hal mendasar dalam pengembangan aplikasi web. Dengan menggunakan PHP CodeIgniter 4, Anda dapat dengan mudah membuat operasi CRUD dan terhubung ke database dengan cepat. Pada tutorial ini, saya akan memandu Anda langkah demi langkah untuk membuat CRUD sederhana dengan PHP CodeIgniter 4.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Langkah 1: Persiapan Awal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pastikan Anda telah menginstal PHP, Composer, dan sudah menyiapkan lingkungan pengembangan untuk CodeIgniter 4. Jika belum, Anda dapat mengikuti petunjuk instalasi resmi di situs web CodeIgniter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Langkah 2: Membuat Database&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mulailah dengan membuat database di server MySQL atau database lainnya yang Anda gunakan. Misalnya, kita akan membuat database dengan nama crud_example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE DATABASE crud_example;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Langkah 3: Instalasi CodeIgniter 4&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selanjutnya, buat proyek CodeIgniter 4 menggunakan Composer dengan perintah berikut:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer create-project codeigniter4/appstarter nama_proyek
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Masuk ke direktori proyek Anda:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd nama_proyek
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Langkah 4: Konfigurasi Database&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Konfigurasi koneksi database di file &lt;code&gt;.env&lt;/code&gt;. Buka file &lt;code&gt;.env&lt;/code&gt; dan sesuaikan informasi koneksi database Anda:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;database.default.hostname = localhost
database.default.database = crud_example
database.default.username = username_database
database.default.password = password_database
database.default.DBDriver = MySQLi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Langkah 5: Membuat Model&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Buatlah model untuk mengelola data di dalam database. Misalnya, buat model dengan nama &lt;code&gt;ProductModel&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php

namespace App\Models;

use CodeIgniter\Model;

class ProductModel extends Model
{
    protected $table = 'products';
    protected $primaryKey = 'id';
    protected $allowedFields = ['name', 'price', 'description'];
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Langkah 6: Membuat Controller&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selanjutnya, buatlah controller untuk menangani permintaan pengguna dan menghubungkannya ke model yang sesuai. Misalnya, buatlah controller dengan nama &lt;code&gt;ProductController&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function create()
{
    return view('product/create');
}

public function store()
{
    $model = new ProductModel();
    $data = [
        'name' =&amp;gt; $this-&amp;gt;request-&amp;gt;getVar('name'),
        'price' =&amp;gt; $this-&amp;gt;request-&amp;gt;getVar('price'),
        'description' =&amp;gt; $this-&amp;gt;request-&amp;gt;getVar('description')
    ];
    $model-&amp;gt;insert($data);
    return redirect()-&amp;gt;to('/product');
}

public function edit($id)
{
    $model = new ProductModel();
    $data['product'] = $model-&amp;gt;find($id);
    return view('product/edit', $data);
}

public function update($id)
{
    $model = new ProductModel();
    $data = [
        'name' =&amp;gt; $this-&amp;gt;request-&amp;gt;getVar('name'),
        'price' =&amp;gt; $this-&amp;gt;request-&amp;gt;getVar('price'),
        'description' =&amp;gt; $this-&amp;gt;request-&amp;gt;getVar('description')
    ];
    $model-&amp;gt;update($id, $data);
    return redirect()-&amp;gt;to('/product');
}

public function delete($id)
{
    $model = new ProductModel();
    $model-&amp;gt;delete($id);
    return redirect()-&amp;gt;to('/product');
}


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Langkah 7: Membuat Tampilan&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Terakhir, buat tampilan untuk menampilkan data dan mengelola CRUD. Misalnya, buat tampilan dengan nama &lt;code&gt;index.php&lt;/code&gt;, &lt;code&gt;create.php&lt;/code&gt; dan &lt;code&gt;edit.php&lt;/code&gt; di dalam folder &lt;code&gt;views/product/&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!-- index.php --&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Product List&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Product List&amp;lt;/h1&amp;gt;
    &amp;lt;a href="/product/create"&amp;gt;Add Product&amp;lt;/a&amp;gt;
    &amp;lt;table border="1"&amp;gt;
        &amp;lt;tr&amp;gt;
            &amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;
            &amp;lt;th&amp;gt;Actions&amp;lt;/th&amp;gt;
        &amp;lt;/tr&amp;gt;
        &amp;lt;?php foreach ($products as $product): ?&amp;gt;
            &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;&amp;lt;?= $product['name'] ?&amp;gt;&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;&amp;lt;?= $product['price'] ?&amp;gt;&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;&amp;lt;?= $product['description'] ?&amp;gt;&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;
                    &amp;lt;a href="/product/edit/&amp;lt;?= $product['id'] ?&amp;gt;"&amp;gt;Edit&amp;lt;/a&amp;gt; | 
                    &amp;lt;a href="/product/delete/&amp;lt;?= $product['id'] ?&amp;gt;" onclick="return confirm('Are you sure you want to delete this product?')"&amp;gt;Delete&amp;lt;/a&amp;gt;
                &amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
        &amp;lt;?php endforeach; ?&amp;gt;
    &amp;lt;/table&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!-- create.php --&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Create Product&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Create Product&amp;lt;/h1&amp;gt;
    &amp;lt;form action="/product/store" method="post"&amp;gt;
        &amp;lt;label for="name"&amp;gt;Name:&amp;lt;/label&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;input type="text" id="name" name="name"&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;label for="price"&amp;gt;Price:&amp;lt;/label&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;input type="text" id="price" name="price"&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;label for="description"&amp;gt;Description:&amp;lt;/label&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;textarea id="description" name="description"&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;input type="submit" value="Submit"&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!-- edit.php --&amp;gt;
&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Edit Product&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Edit Product&amp;lt;/h1&amp;gt;
    &amp;lt;form action="/product/update/&amp;lt;?= $product['id'] ?&amp;gt;" method="post"&amp;gt;
        &amp;lt;label for="name"&amp;gt;Name:&amp;lt;/label&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;input type="text" id="name" name="name" value="&amp;lt;?= $product['name'] ?&amp;gt;"&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;label for="price"&amp;gt;Price:&amp;lt;/label&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;input type="text" id="price" name="price" value="&amp;lt;?= $product['price'] ?&amp;gt;"&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;label for="description"&amp;gt;Description:&amp;lt;/label&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;textarea id="description" name="description"&amp;gt;&amp;lt;?= $product['description'] ?&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;input type="submit" value="Update"&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Langkah 8: Pembaruan pada Route untuk Fungsi CRUD&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Perbarui rute untuk setiap fungsi CRUD di dalam file &lt;code&gt;app/Config/Routes.php&lt;/code&gt; untuk menangani permintaan &lt;code&gt;POST&lt;/code&gt; dari formulir:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$routes-&amp;gt;get('/product/create', 'ProductController::create');
$routes-&amp;gt;post('/product/store', 'ProductController::store');
$routes-&amp;gt;get('/product/edit/(:num)', 'ProductController::edit/$1');
$routes-&amp;gt;post('/product/update/(:num)', 'ProductController::update/$1');
$routes-&amp;gt;get('/product/delete/(:num)', 'ProductController::delete/$1');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Langkah 9: Uji Coba&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sekarang, and tinggal mencoba CRUD yang telah anda bikin, dengan menuliskan &lt;code&gt;php spark serve&lt;/code&gt; pada terminal/command line anda, sehingga server codeigniter 4 akan jalan.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
