การสร้าง URL ที่กำหนดเองในมุมมองผู้ช่วย Zend

โดย Watkin Steven Lloyd วันพฤหัสบดีที่ 28 มกราคม 2010 23:01

นี้อาจดูเหมือนง่าย แต่ผมต่อสู้หัวของฉันพยายามที่จะสร้างใน 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 () --> g​​etRouter ();

         กลับ $ เราเตอร์ -> รวบรวม (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');
     }
 } 

ทั้งสองเหมือนกันเกือบ ไม่ใช่เรื่องยากที่จะทำในกรอบ แต่สามารถจับคุณออก;)

One Response to"การสร้าง URL ใน Helper ดู Zend กำหนดเอง"

  1. Mauger Ryan says :

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

ปล่อยให้ตอบกลับ













ชุดรูปแบบพาโนรามาโดย Themocracy

9 ผู้เข้าชมออนไลน์ขณะนี้
7 แขก, 2 บอ, 0 สมาชิก
ผู้เข้าชมสูงสุดวันนี้ : 13 ที่ 03:27 UTC
เดือนนี้ : 26 ที่ 2011/07/05 12:35 UTC
ปีนี้ : 130 ที่ 28-03-2011 10:40 UTC
เวลาทั้งหมด : 130 ที่ 28-03-2011 10:40 UTC