Magento 2.1: menggunakan manajer entitas


27

Dari 2.1 Magento telah diperkenalkanMagento/Framework/Model/EntityManager

Saya mungkin salah di sini tetapi dari pemahaman saya itu adalah untuk mengganti Magento/Framework/Model/AbstractModelyang mengimplementasikan fitur melalui warisan dan menyelesaikannya melalui komposisi (FYI: https://en.m.wikipedia.org/wiki/Composition_over_inheritance )

Anda bisa mendapatkan contoh di sini di file inti: https://github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php

Pada dasarnya semua operasi CRUD secara eksplisit dinyatakan di kelas dan ditangguhkan ke EntityManagerkelas. Sebelum 2.1, metode induk dipanggil melalui pewarisan.

Jadi pertanyaan saya adalah:

  • apa manfaat dariEntityManager sistem pewarisan 2.1?
  • apakah hanya mendeklarasikan metode CRUD (seperti contoh di atas) cukup untuk mulai mengimplementasikannya dalam modul CRUD khusus atau ada lebih banyak?

1
Bukan jawaban - tapi saya akan membahayakan salah satu manfaat menggunakan EntityManager adalah kemampuan untuk injeksi sistem tipe Repository - di mana pemuatan mungkin terjadi dalam memori daripada memukul DB jika entitas telah ditarik ke dalam memori, dll.
Navarr

Jawaban:


16

Saat ini, kami tidak merekomendasikan untuk menggunakan EntityManager untuk entitas Anda karena ini adalah fitur yang belum selesai dan kami berencana untuk membuat konfigurasi lebih deklaratif.

Gagasan EntityManager adalah:

  • bolehkan Entitas Data dengan antarmuka (tidak perlu meluas dari kelas abstrak)
  • membuat diperpanjang terus-menerus eksplisit
  • modularitas

Terima kasih untuk itu, bisakah Anda menambahkan jawaban Anda alasan mengapa Anda tidak merekomendasikan menggunakannya? (Fitur yang belum selesai, buggy, lainnya?)
Raphael di Digital Pianism

1
Ya, masa depan yang belum selesai, kami berencana untuk membuat konfigurasi lebih deklaratif
KAndy

4
XML Moar, MOAR! :)
nevvermind

Bisakah kita tahu tanggal yang diharapkan untuk menyelesaikan masa depan yang belum selesai ini?
Toan Nguyen

3
Karena simpanan Magento secara langsung dipengaruhi oleh umpan balik komunitas dan mitra, tugas apa pun dapat diprioritaskan dan diprioritaskan dan tidak ada yang tahu kapan tugas konkret akan selesai, sebelum dilakukan dan diterbitkan.
KAndy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.