Membuat URL di Lihat Penolong Custom Zend
Hal ini mungkin tampak sederhana, tapi aku ketuk kepala saya cuba untuk membuat sebuah URL dalam pembantu paparan tersuai dalam Zend Framework . Saya mempunyai setup routing yang mendapatkan modul dari sub-domain digunakan sehingga saya tidak boleh menggunakan URL hardcoded sederhana.
Pada dasarnya tetapi memanggil sebuah instance dari front controller mungkin untuk turun router dan merakit url. Pasang adalah fungsi yang digunakan dalam paparan helper. URL dibina dari sebuah array dari modul, controller, action, dll, diikuti oleh parameter kedua dari laluan yang akan digunakan. Kod adalah sebagai berikut:
<? Php / ** * Lihat penolong yang mengembalikan link URL kategori * * @ Author Lloyd Watkin * @ Sejak 25/01/2010 * @ Paket ViewHelper * @ Sub-pakej LinksUrl * / kelas Pro_View_Helper_LinksUrl meluas Zend_View_Helper_Abstract { / ** * Pulangan link URL kategori * * @ Param Doctrine_Record $ kategori * @ Param string $ modul * @ Param string $ controller * @ Param string $ action * @ Return string Url * / fungsi awam linksUrl ($ kategori, $ modul 'www' =, $ Controller 'link' =, $ aksi 'indeks' =) { $ Router = Zend_Controller_Front:: getInstance () -> getRouter (); return $ router-> merakit (array ( 'Module'> = $ modul, 'Controller'> = $ controller, 'Action'> = $ action, 'Kategori' => "{$ id kategori->} - {$ nama kategori->}", ), 'Www-index'); } }
Cara lain untuk melakukan ini ialah untuk memohon Zend_View_Helper_Url sendiri dan memanggil kaedah Url (jika anda ingin menggunakan pembantu itu sendiri). Hal ini dapat dilakukan dengan menggunakan kod berikut:
<? Php / ** * Lihat penolong yang mengembalikan link URL kategori * * @ Author Lloyd Watkin * @ Sejak 25/01/2010 * @ Paket ViewHelper * @ Sub-pakej LinksUrl * / kelas Pro_View_Helper_LinksUrl meluas Zend_View_Helper_Abstract { / ** * Pulangan link URL kategori * * @ Param Doctrine_Record $ kategori * @ Param string $ modul * @ Param string $ controller * @ Param string $ action * @ Return string Url * / fungsi awam linksUrl ($ kategori, $ modul 'www' =, $ Controller 'link' =, $ aksi 'indeks' =) { $ Link Zend_View_Helper_Url = new (); return $ link-> url (array ( 'Module'> = $ modul, 'Controller'> = $ controller, 'Action'> = $ action, 'Kategori' => "{$ id kategori->} - {$ slug}", ), 'Www-index'); } }
Keduanya hampir identik. Bukan hal yang sulit untuk dilakukan dalam rangka tetapi boleh menangkap anda keluar;)


















































Anda tahu bahawa anda boleh saja digunakan melihat objek yang sedia dengan memperluaskan Zend_View_Helper_Abstract untuk memanggil pembantu url yang ada, daripada membuat yang baru.
Cukup gunakan $ this url pandangan-> -> (...);