3
Magento 2: ปลั๊กอินก่อน / หลัง / หลังการโต้ตอบ
ใน Magento 2 เมื่อคุณสร้างปลั๊กอิน "รอบ" public function aroundRenderResult( \Magento\Framework\Controller\ResultInterface $subject, \Closure $proceed, ResponseHttp $response ) { //... $proceed($response); //... } คุณสามารถดำเนินการต่อไปปลั๊กอินรอบต่อไปปิดท้ายด้วยการเรียกวิธีการเดิมที่เกิดขึ้นจริงโดยการเรียก / อัญเชิญผ่านใน$proceedวิธีการ นี่เป็นรูปแบบการออกแบบทั่วไปที่มักพบในการใช้มิดเดิลแวร์ PHP Frameworks อย่างไรก็ตาม - มันนำเสนอความสับสนโดยไม่มีข้อมูลการใช้งาน เฉพาะ หากนอกเหนือไปจากaroundPluginวัตถุ / คลาสยังมีการกำหนดbeforeหรือafterปลั๊กอินเมื่อใดพวกมันจะเริ่มสัมพันธ์กับสายโซ่ของปลั๊กอิน คือวิธีทั้งหมดก่อนที่จะยิงก่อนที่จะมีวิธีการใด ๆ ไฟปลั๊กอิน? หรือก่อนที่ปลั๊กอินจะยิงก่อนที่ไฟสุดท้ายจะเกิดขึ้นจริงหรือไม่ ปัญหาเฉพาะฉันพยายามที่จะติดตามลงคือผมไม่สามารถดูเหมือนจะได้รับปลั๊กอินที่ติดอยู่กับวิธีการจัดส่งที่ควบคุมวีโอไอพี 2 หน้าเมื่อวีโอไอพีในโหมดแคชเต็มหน้า แคชเต็มหน้าดำเนินการโดยปลั๊กอินรอบ ๆ ที่ไม่ได้$proceed($response)โทร ฉันได้ลองขุดลงในโค้ดบางส่วนรอบ ๆ ปลั๊กอินเหล่านี้และพบว่าระบบนั้นยากที่จะให้เหตุผลโดยไม่ทราบว่าปลั๊กอินนั้นทำงานอย่างไร ie - คำอธิบายในหน้าเอกสาร devจะปรากฏขึ้นในอินสแตนซ์ที่เฉพาะเจาะจงนี้อันใดอันหนึ่งที่ไม่ถูกต้อง …