CakePHP – Membuat Aplikasi CRUD Dengan Cepat Dan Efisien (Part 2)

A. Membuat Database Dahulu

Mari buat sebuah database yang namanya “cake” (atau yang lain) yang dalamnya ada sebuah tabel “buku”. Berikut adalah skrip sql-nya :

CREATE TABLE `buku` (
  `id` int(11) AUTO_INCREMENT PRIMARY KEY,
  `judul` varchar(60) NOT NULL,
  `pengarang` varchar(60) NOT NULL,
  `gambar` varchar(100) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Isi tabel yang telah dibuat dengan data seperti di bawah :

INSERT INTO buku (id, judul, pengarang, gambar, created_at, updated_at) VALUES
(1, 'Laravel 5.8 + Summernote', 'Agus Yonodiputro', '', '2020-09-18 04:03:28', '2020-09-18 00:11:35'),
(2, 'Makan Dengan Sayuran', 'Detty Mulkan', '', '2020-09-18 04:10:21', '2020-09-18 10:13:25'),
(3, 'Tangisan Hanya Sesaat', 'Stefy Houldini', '', '2020-09-18 04:10:47', '2020-09-18 04:10:47'),
(4, 'Warna Abadi Dalam Cinta', 'Mustafa Ali Akbar', '', '2020-09-18 04:11:28', '2020-09-18 04:11:28'),
(5, 'Suatu Saat Dalam Senja', 'Becky Yam', '', '2020-09-18 04:14:20', '2020-09-18 04:14:20'),
(6, 'Be A Successful Teenager', 'Devy Ghan', '', '2020-09-18 04:14:48', '2020-09-18 04:14:48'),
(7, 'Sunny Day In Thailand', 'Polly Andre', '', '2020-09-18 04:15:21', '2020-09-18 04:15:21'),
(8, 'Becoming A Man', 'Joseph Hand', '', '2020-09-18 04:15:50', '2020-09-18 04:15:50'),
(9, 'Jungle World in Ancient Era', 'Ian Anderson', '', '2020-09-18 04:16:12', '2020-09-18 04:16:12'),
(10, 'Slow Life Is Not A Good Friend', 'Sonny Hall', '', '2020-09-18 04:16:55', '2020-09-18 04:16:55'),
(11, 'Damai Di Indonesia', 'Hamid Damanik', '', '2020-09-18 04:17:29', '2020-09-18 04:17:29');

Tabel dan datanya sudah selesai dibuat.

B. Mengoneksikan Database Dengan CakePHP

Langkah berikutnya adalah mengoneksikan CakePHP dengan database “cake”. Pertama kita buka file app_local.php di folder app > config > app_local.php. Isikan prasyaratnya pada bagian Datasources sesuai dengan database-mu

'Datasources' => [
        'default' => [
            'host' => '127.0.0.1', 
            /*
             * CakePHP will use the default DB port based on the driver selected
             * MySQL on MAMP uses port 8889, MAMP users will want to uncomment
             * the following line and set the port accordingly
             */
            //'port' => 'non_standard_port_number',

            'username' => 'root',
            'password' => '',

            'database' => 'cake', // Isi sesuai nama database-mu
            /**
             * If not using the default 'public' schema with the PostgreSQL driver
             * set it here.
             */
            //'schema' => 'myapp',

            /**
             * You can use a DSN string to set the entire configuration
             */
            'url' => env('DATABASE_URL', null),
        ],

        /*
         * The test connection is used during the test suite.
         */
        'test' => [
            'host' => 'localhost',
            //'port' => 'non_standard_port_number',
            'username' => 'my_app',
            'password' => 'secret',
            'database' => 'test_myapp',
            //'schema' => 'myapp',
            'url' => env('DATABASE_TEST_URL', null),
        ],
    ],
 

Setingan sudah diubah langkah berikutnya adalah menjalankan server.

C. Menjalankan Server Untuk Pertama Kali

Pada tahap ini kita akan menjalankan aplikasi untuk pertama kali. Aplikasi ini akan dijalankan melalui terminal. Buka terminal di Ubuntu dan masuk ke folder root CakePHP :

cd /path/to/our/app

bin/cake server

Jalankan server di terminal dengan perintah seperti di bawah ini :

Server sudah berjalan
CakePHP sukses terhubung dengan database