Cara Membuat URL di Controller seperti HtmlHelper

TLDR: Bagaimana cara membuat URL di Pengontrol serupa dengan cara menggunakan HtmlHelper untuk membuat URL di Tampilan?


Masalah:

Saya ingin mencetak url tindakan pengontrol, di pengontrol saya (karena saya membuat string JSON di pengontrol saya, bukan di tampilan)

Di View, saya bisa menggunakan $this->Html->url(), tapi bagaimana dengan di Controller?

Haruskah saya menggunakan konstanta yang ditentukan seperti APP_DIR + Nama pengontrol + Tindakan pengontrol?)


person mrdaliri    schedule 11.08.2012    source sumber


Jawaban (1)


Gunakan kelas Router.

$url = Router::url([
    'controller' => 'Articles',
    'action' => 'index',
    '?' => ['page' => 1],
    '#' => 'top'
]);

atau hal yang sama, tetapi dalam skenario yang lebih umum/sederhana:

$url = Router::url(['controller' => 'Articles', 'action' => 'index']);

Catatan: di Cake2.x, "Artikel" akan menggunakan huruf kecil.


Dokumentasi Router CakePHP 2.x< /kuat>

Dokumentasi CakePHP 3.x 'Membuat URL'

person Dave    schedule 11.08.2012
comment
Ingatlah untuk menggunakan kelas perutean: use Cake\Routing\Router; - person Tomas Gonzalez; 05.03.2017