การสร้าง URL ที่กำหนดเองในมุมมองผู้ช่วย Zend
นี้อาจดูเหมือนง่าย แต่ผมต่อสู้หัวของฉันพยายามที่จะสร้างใน URL ที่กำหนดเองในมุมมองผู้ช่วยเหลือ Zend Framework . ฉันมีการกำหนดเส้นทางการติดตั้งโมดูลที่ได้รับจากโดเมนย่อยในการใช้ดังนั้นผมจึงไม่สามารถใช้ URL hardcoded ง่าย
โดยทั่วไป แต่กรณีของการควบคุมการเรียกหน้าไปได้ที่จะคว้าเราเตอร์และรวบรวม URL ของ ประกอบเป็นฟังก์ชันที่ใช้ในการช่วยดู URL ที่ถูกสร้างขึ้นมาจากอาเรย์ของโมดูลควบคุมการกระทำและอื่น ๆ ตามด้วยพารามิเตอร์ที่สองของเส้นทางที่จะใช้ รหัสมีดังนี้
<? PHP / ** * ช่วยดูที่ผลตอบแทน URL ประเภทการเชื่อมโยง * * @ ผู้เขียน Watkin Lloyd * @ ตั้งแต่ 25/01/2010 แพคเกจ * @ ViewHelper * subpackage @ LinksUrl * / ชั้น Pro_View_Helper_LinksUrl Zend_View_Helper_Abstract ขยาย { / ** คืน * URL ประเภทการเชื่อมโยง * * @ param $ Doctrine_Record หมวดหมู่ * สตริง param @ $ โมดูล * @ param $ สตริงควบคุม * สตริง param @ $ การกระทำ * สตริงกลับ @ Url * / linksUrl ทำงานสาธารณะ ($ ประเภท, $ โมดูล'www'= $ ควบคุม'ลิงค์'=, $ การกระทำ'ดัชนี'=) { $ = Zend_Controller_Front เราเตอร์ : : getInstance () --> getRouter (); กลับ $ เราเตอร์ -> รวบรวม (array ( 'โมดูล'=> $ โมดูล 'ควบคุม'=> $ คอนโทรลเลอร์, 'การกระทำ'=> $ การกระทำ 'หมวดหมู่'=>"$ {id หมวดหมู่>} -- {$ ชื่อหมวดหมู่>}", ),'ดัชนี www'); } }
วิธีการทำเช่นนี้ก็คือการเรียก Zend_View_Helper_Url ตัวเองและเรียกวิธี Url (ถ้าคุณต้องการใช้ผู้ช่วยเหลือตัวเอง) ซึ่งสามารถทำได้โดยใช้โค้ดต่อไปนี้
<? PHP / ** * ช่วยดูที่ผลตอบแทน URL ประเภทการเชื่อมโยง * * @ ผู้เขียน Watkin Lloyd * @ ตั้งแต่ 25/01/2010 แพคเกจ * @ ViewHelper * subpackage @ LinksUrl * / ชั้น Pro_View_Helper_LinksUrl Zend_View_Helper_Abstract ขยาย { / ** คืน * URL ประเภทการเชื่อมโยง * * @ param $ Doctrine_Record หมวดหมู่ * สตริง param @ $ โมดูล * @ param $ สตริงควบคุม * สตริง param @ $ การกระทำ * สตริงกลับ @ Url * / linksUrl ทำงานสาธารณะ ($ ประเภท, $ โมดูล'www'= $ ควบคุม'ลิงค์'=, $ การกระทำ'ดัชนี'=) { ลิงค์ = $ Zend_View_Helper_Url ใหม่ (); URL ลิงค์กลับ $> - (array ( 'โมดูล'=> $ โมดูล 'ควบคุม'=> $ คอนโทรลเลอร์, 'การกระทำ'=> $ การกระทำ 'หมวดหมู่'=>"$ {id หมวดหมู่>} -- {$ กระสุน}", ),'ดัชนี www'); } }
ทั้งสองเหมือนกันเกือบ ไม่ใช่เรื่องยากที่จะทำในกรอบ แต่สามารถจับคุณออก;)


















































คุณจะรู้ว่าคุณอาจมีเพียงแค่วัตถุที่ใช้ดูใช้ได้โดยการขยาย Zend_View_Helper_Abstract จะเรียกผู้ช่วยเหลือ URL ที่มีอยู่มากกว่าการสร้างใหม่
เพียงแค่ใช้ $ this URL ดู ->> (... );