Magento 2.1: การใช้ตัวจัดการเอนทิตี


27

จาก 2.1 Magento ได้เปิดตัวMagento/Framework/Model/EntityManager

ฉันอาจจะผิดที่นี่ แต่จากความเข้าใจของฉันมันคือการแทนที่Magento/Framework/Model/AbstractModelซึ่งมีการใช้คุณสมบัติผ่านทางมรดกและแก้ปัญหานี้ผ่านทางองค์ประกอบ (FYI: https://en.m.wikipedia.org/wiki/Composition_over_inheritance )

คุณสามารถรับตัวอย่างได้ที่นี่ในไฟล์หลัก: https://github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/Block.php

โดยทั่วไปการดำเนินการ CRUD ทั้งหมดจะประกาศอย่างชัดเจนในชั้นเรียนและเลื่อนไปEntityManagerเรียน ก่อนหน้า 2.1 วิธีการหลักถูกเรียกผ่านการสืบทอด

ดังนั้นคำถามของฉันคือ:

  • สิ่งที่เป็นประโยชน์ของEntityManagerระบบสืบทอด 2.1 ก่อน?
  • เป็นเพียงแค่การประกาศวิธีการ CRUD นี้ (เช่นตัวอย่างข้างต้น) พอที่จะเริ่มต้นการดำเนินการนั้นในโมดูล CRUD ที่กำหนดเองหรือจะมีมากขึ้นหรือไม่

1
ไม่ใช่คำตอบ - แต่ฉันจะเป็นอันตรายอย่างหนึ่งในข้อดีของการใช้ EntityManager คือความสามารถในการฉีดที่เป็นไปได้ของระบบประเภท Repository - ซึ่งการโหลดอาจเกิดขึ้นในหน่วยความจำแทนที่จะกดฐาน DB ถ้าเอนทิตีถูกดึงเข้าไปแล้ว หน่วยความจำ ฯลฯ
Navarr

คำตอบ:


16

ขณะนี้เราไม่แนะนำให้ใช้ EntityManager สำหรับเอนทิตี้ของคุณเนื่องจากเป็นคุณลักษณะที่ยังไม่เสร็จและเราวางแผนที่จะทำให้การกำหนดค่ามีความชัดเจนมากขึ้น

แนวคิดของ EntityManager คือ:

  • อนุญาตให้คงอยู่ Data Entity โดยอินเทอร์เฟซ (ไม่จำเป็นต้องขยายจากคลาสนามธรรม)
  • ทำให้ขยายอย่างชัดเจนถาวร
  • ต้นแบบ

ขอบคุณที่คุณสามารถเพิ่มคำตอบของคุณด้วยเหตุผลว่าทำไมคุณไม่แนะนำให้ใช้? (ฟีเจอร์ที่ยังไม่เสร็จ, บั๊กกี้, อื่น ๆ ?)
Raphael ที่ Digital Pianism

1
ใช่ฟิวเจอร์สที่ยังไม่เสร็จเราวางแผนที่จะทำให้การกำหนดค่าเพิ่มเติมประกาศ
KAndy

4
Moar XMLs, MOAR! :)
nevvermind

เราจะทราบได้ไหมว่าวันที่คาดว่าพวกเขาจะเสร็จสิ้นฟิวเจอร์สที่ยังไม่เสร็จนี้คืออะไร?
Toan Nguyen

3
เนื่องจากการค้างชำระของวีโอไอพีที่ได้รับผลกระทบโดยตรงจากชุมชนและคู่ค้านั้นจะส่งผลกระทบต่องานใด ๆ ที่สามารถจัดลำดับความสำคัญและลดความสำคัญลงได้และไม่มีใครรู้ว่างานคอนกรีตจะเสร็จสิ้นเมื่อใด
KAndy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.