Zend Framework Module Per - ตั้งค่าตาม
เราได้สร้างการติดตามผลไปยังการกำหนดค่านี้โพสต์ซึ่งน้อยต้องโปรดดู จากเค้าโครง Module -- Zend Framework .
เมื่อใช้ กรอบ Zend กับโมดูลที่เห็นได้ชัดว่าถ้าคุณกำลังใช้งานต่างๆ (sub -) เว็บไซต์ปิดโปรแกรมเดียวกับที่คุณต้องการไม่จำเป็นต้องเหมือนกัน คริปท์รูปแบบ สำหรับแต่ละส่วน ฉันตัดสินใจที่จะไปกับโครงสร้างของเว็บไซต์ดังต่อไปนี้
/ การประยุกต์ใช้ / ควบคุม ... / โมเดล / โมดูล เริ่มต้น / / ควบคุม รูปแบบ / / สคริป / มุมมอง / สคริป / anotherModule ... / สคริป
ปัญหาคือการตั้งค่าสคริปเลย์เอาต์บนพื้นฐานต่อโมดูล คำตอบที่ผ่านมาใช้การดำเนินการช่วยเหลือ การตั้งค่ารูปแบบบนพื้นฐานต่อโมดูลเกี่ยวกับการสามขั้นตอน
- Application.ini (หรือการตั้งค่าการกำหนดค่าที่คล้ายกัน) :
admin.resources.layout.layoutPath APPLICATION_PATH ="/ โมดูล / admin เค้าโครง / / คริปท์" default.resources.layout.layoutPath = APPLICATION_PATH"โมดูล / default / รูปแบบ / สคริปต์ /" member.resources.layout.layoutPath = APPLICATION_PATH"โมดูล / สมาชิก / รูปแบบ / สคริปต์ /" affiliate.resources.layout.layoutPath = APPLICATION_PATH"โมดูล / พันธมิตร / รูปแบบ / สคริปต์ /"
- ผู้ช่วยสร้างการกระทำของคุณ :
<? PHP / ** * ตั้งค่าเส้นทางรูปแบบบนพื้นฐานต่อโมดูล * * @ ผู้เขียน <lloyd@evilprofessor.co.uk> Lloyd Watkin * @ ตั้งแต่ 2010/01/01 * / Pro_Controller_Action_Helper_SetLayoutPath ชั้น Zend_Controller_Action_Helper_Abstract ขยาย { / ** * เส้นทางชุดรูปแบบขึ้นอยู่กับโมดูล * / preDispatch ทำงานสาธารณะ () { $ = โมดูล getRequest $ this -> () --> getModuleName (); if ($ bootstrap = getActionController $ this -> () -- getInvokeArg> ('bootstrap')) { $ config = $ getOptions bootstrap -> (); if (isset ($ config ['รูปแบบ'] [$ โมดูล] ['ทรัพยากร'] ['layoutPath'])) { layoutPath $ = $ config [$ โมดูล] ['รูปแบบ'] ['ทรัพยากร'] ['layoutPath']; getActionController $ this -> () -- getHelper> ('รูปแบบ') -- setLayoutPath> ($ layoutPath); } } } }
- และสุดท้าย boostrap ผู้ช่วยดำเนินการ :
... / ** * ตั้งค่าสคริปเลย์เอาต์บนพื้นฐานต่อโมดูล * / _initLayoutHelper ฟังก์ชั่นการป้องกัน () { $ this -> bootstrap ('frontController'); $ เค้าโครง = Zend_Controller_Action_HelperBroker : : addHelper ( Pro_Controller_Action_Helper_SetLayoutPath ใหม่ ()); } ...


















































สวัสดีขอบคุณแรกสำหรับการสอนที่เป็นประโยชน์ แต่บอกฉันที่ฉันสร้างผู้ช่วยดำเนินการด้วยชื่อไฟล์แม่มด? ของคุณ
behrang
Hi Behrang สร้างการดำเนินการกับผู้ช่วยเหลือใดชื่อที่คุณชอบฉันมี'ห้องสมุด'ของตัวเองกับมสเปซ'Pro' คุณอาจจะเพียงได้อย่างง่ายดายเรียกว่า'SetLayoutPath ชนชั้นและนำไปใช้ที่เคยคุณต้องการให้รหัสสามารถค้นหาได้และคุณจำเป็นต้องขยายชั้นเรียน
สวัสดี, เอี่ยมสับสนกับการตั้งค่าการตั้งค่าฐานข้อมูลโมดูลเฉพาะใครบ้าง ... มีความคิดหรือไม่
ฉันคิดว่านี่อาจจะประสบความสำเร็จได้อย่างง่ายดาย usign รูปแบบข้างต้น ขั้นแรกให้สร้างตัวเลือกในไฟล์ ini ของคุณพร้อมแฟ้มของ :
moduleName.db.user ="
moduleName.db.password ="
moduleName2.db.user ="
... etc ...
จากนั้นก็สร้างการเชื่อมต่อฐานข้อมูลของคุณให้ตามความเหมาะสม (Zend_Db : : โรงงาน () หรือคล้ายกัน) และที่เก็บสะสมมันออกไปในรีจิสทรีหรืออะแดปเตอร์ตั้งให้เป็นค่าเริ่มต้นหากใช้ Zend_Db_Table (Zend_Db_Table : : setDefaultAdapter ())