Study
CakePHP

Named Route & Redirect

Penjelasan

Route di CakePHP bisa diberi nama unik lewat opsi '_name' di argumen route, supaya URL-nya bisa dirujuk lewat array ['_name' => 'nama.route'] tanpa hardcode path. Redirect dilakukan lewat $this->redirect().

Contoh Konsep

<?php

// config/routes.php
$routes->get('/produk/{id}', ['controller' => 'Produk', 'action' => 'show'], 'produk:show');

// Dipakai di controller lain:
return $this->redirect(['_name' => 'produk:show', 'id' => 5]);

{# Dipakai di template: #}
{# <?= $this->Html->link('Lihat Produk', ['_name' => 'produk:show', 'id' => $produk->id]) ?> #}

Praktikum

Beri nama route GET /artikel/{id} menjadi 'artikel:show'. Tulis contoh $this->redirect() ke route itu dengan id = 3, dan contoh pemakaian $this->Html->link() di template untuk membuat link ke artikel dengan id yang sama.

Editor Latihan

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

Tips

Selalu pakai named route ('_name' => '...') daripada menulis URL string manual di template atau controller — kalau path route berubah, semua rujukan otomatis ikut benar tanpa perlu dicari-cari satu per satu, sama seperti alasannya di Laravel/Symfony.