Study
CakePHP

Prefix & Resource Routing

Penjelasan

$routes->resources() men-generate route CRUD standar (index, add, edit, view, delete) sekaligus dalam satu baris, mirip Route::resource() di Laravel. CakePHP juga punya konsep "prefix" routing untuk mengelompokkan route (mis. semua route admin di bawah /admin/... dan otomatis diarahkan ke Controller di namespace Controller\Admin).

Contoh Konsep

<?php

// config/routes.php
$routes->resources('Produk');

// Setara dengan mendaftarkan manual:
// GET    /produk           -> index
// GET    /produk/add       -> add
// POST   /produk           -> add
// GET    /produk/{id}      -> view
// GET    /produk/{id}/edit -> edit
// POST   /produk/{id}/edit -> edit
// POST   /produk/{id}/delete -> delete

// Prefix routing:
$routes->prefix('Admin', function ($routes) {
    $routes->resources('Produk'); // otomatis mengarah ke Controller\Admin\ProdukController
});

Praktikum

Tulis satu baris $routes->resources() untuk resource Artikel. Bungkus juga dengan $routes->prefix('Admin', ...) supaya ada versi /admin/artikel yang mengarah ke Controller\Admin\ArtikelController.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Penamaan action resource CakePHP (add, edit, view, delete) BEDA dari Laravel (create/store, edit/update, show, destroy) — CakePHP tidak memisahkan action "tampilkan form" dan "proses submit" jadi dua action terpisah untuk create/edit, keduanya digabung dalam satu action add()/edit() yang mengecek $this->request->is('post').