Paglikha ng mga URL sa Zend Custom View Helper
Ito ay maaaring mukhang simple, ngunit ako ay banging aking ulo sinusubukang lumikha ng isang URL sa isang pasadyang helper view sa Zend Framework . Ako ay may routing setup na kung saan makakakuha ng module mula sa mga sub domain-in gamitin kaya hindi ako maaaring gumamit ng isang simpleng hardcoded URL.
Talaga ngunit invoking isang halimbawa ng harap controller nito posible na sunggaban ang router at ipon ng isang url. Magkatipon ay ang function na ginagamit sa mga helper view. Ang URL ay built up mula sa isang array ng mga module, controller, action, etc, na sinusundan ng isang pangalawang parameter ng ruta upang gamitin. Ang code ay ang mga sumusunod:
<? Php / ** * Tingnan ang helper na nagbabalik ng URL link ng kategorya * * @ Akda Lloyd Watkin * @ Since 25/01/2010 * @ Package ViewHelper * @ Subpackage LinksUrl * / class Pro_View_Helper_LinksUrl nagpalawak Zend_View_Helper_Abstract { / ** * Returns link kategorya URL * * @ Param Doctrine_Record $ kategorya * @ Param string $ module * @ Param string $ controller * @ Param string $ action * @ Bumalik string Url * / pampublikong function linksUrl ($ kategorya, $ module = 'www', $ Controller = 'links', $ action = 'index') { $ Router = Zend_Controller_Front:: getInstance () -> getRouter (); bumalik $ router-> ipon (array ( 'Module' => $ module, 'Controller' => $ controller, 'Action' => $ action, 'Category' => "{$ category-> id} - {$ category-> name}", ), 'Www-index'); } }
Ang isa pang paraan upang gawin ito ay ang panawagan sa Zend_View_Helper_Url mismo at tawagan ang Url paraan (kung nais mong gamitin ang helper mismo). Ito ay maaaring gawin sa pamamagitan ng paggamit ng sumusunod na code:
<? Php / ** * Tingnan ang helper na nagbabalik ng URL link ng kategorya * * @ Akda Lloyd Watkin * @ Since 25/01/2010 * @ Package ViewHelper * @ Subpackage LinksUrl * / class Pro_View_Helper_LinksUrl nagpalawak Zend_View_Helper_Abstract { / ** * Returns link kategorya URL * * @ Param Doctrine_Record $ kategorya * @ Param string $ module * @ Param string $ controller * @ Param string $ action * @ Bumalik string Url * / pampublikong function linksUrl ($ kategorya, $ module = 'www', $ Controller = 'links', $ action = 'index') { $ Link = bagong Zend_View_Helper_Url (); bumalik $ link-> url (array ( 'Module' => $ module, 'Controller' => $ controller, 'Action' => $ action, 'Category' => "{$ category-> id} - {$} kuhol", ), 'Www-index'); } }
Parehong halos magkapareho. Hindi isang mahirap na bagay na gawin sa framework ngunit maaari mahuli ka out;)


















































Alam mo ay maaaring ikaw ay may lamang ginagamit tingnan ang mga bagay na magagamit sa pamamagitan ng pagpapalawak Zend_View_Helper_Abstract upang tawagin ang mga umiiral na helper, url, sa halip na ang paglikha ng isang bagong isa.
Gamitin lamang $ ito-> view-> url (...);