Alternativa a los métodos obsoletos de cargar, guardar y eliminar de Magento 2

Estás leyendo la publicación: Alternativa a los métodos obsoletos de cargar, guardar y eliminar de Magento 2

Desarrolladores, es posible que sepan que Magento 2 dejó de usar los métodos de carga, guardado y eliminación del modelo abstracto. Usar lo mismo en su código puede arrojar errores y causar problemas de compatibilidad en el futuro. Lea esta publicación de blog para encontrar una alternativa a los métodos obsoletos de carga, guardado y eliminación de Magento 2. 😀

En el AbstractModel predeterminado de Magento 2, load(), save() y delete() son los métodos esenciales para realizar las operaciones CRUD básicas en la base de datos. Aunque hay innumerables clases en el núcleo que amplían la clase AbstractModel y usan estos métodos, se recomienda evitar el uso de estos métodos obsoletos, ya que pueden causar problemas de compatibilidad en el futuro.

También puede recibir el error de obsolescencia de la función PHP del editor de código/IDE.

En esta publicación de blog, te proporcionaré lo mejor.

Métodos obsoletos de carga, guardado y eliminación de Magento 2: solución alternativa

Muchos desarrolladores de Magento 2 están confundidos debido a la desaprobación de los métodos load(), save() y delete() de la clase AbstractModel. La mejor alternativa a estos métodos obsoletos es usar resourceModel.

A continuación se muestra el ejemplo del uso de resourceModel para los métodos de carga, guardado y eliminación como alternativa al AbstractModel en Magento 2:

usar Excepción; use Vendor\Extension\Model\AgencyPortalFactory como ExtensionModelFactory; use Vendor\Extension\Model\ResourceModel\AgencyPortalFactory como ExtensionResourceModelFactory; class YourClass { private $extensionModelFactory; privado $extensionResourceModelFactory; public function __construct( ExtensionModelFactory $extensionModelFactory, ExtensionResourceModelFactory $extensionResourceModelFactory ) { $this->extensionModelFactory = $extensionModelFactory; $this->extensionResourceModelFactory = $extensionResourceModelFactory; } función pública ejecutar() { probar { $id = ‘1’; $modelo = $este->extensionModelFactory->create(); $resourceModel = $this->extensionResourceModelFactory->create(); $resourceModel->load($modelo, $id); // para cargar $resourceModel->save($model); // para guardar $resourceModel->delete($model); // para borrar } catch (Excepción $e) { \Magento\Framework\App\ObjectManager::getInstance()->get(\Psr\Log\LoggerInterface::class)->info($e->getMessage() ); } } }

🔥 Recomendado:  Los 15 mejores ejemplos de tiendas de ropa Shopify para obtener una nueva inspiración

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

dieciséis

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

usar Excepción;

use Vendor\Extension\Model\AgencyPortalFactory como ExtensionModelFactory;

use Vendor\Extension\Model\ResourceModel\AgencyPortalFactory como ExtensionResourceModelFactory;

clase TuClase

{

privado $extensionModelFactory;

privado $extensionResourceModelFactory;

función pública __construir(

ExtensionModelFactory $extensionModelFactory,

ExtensiónResourceModelFactory $extensiónResourceModelFactory

) {

$this->extensionModelFactory = $extensionModelFactory;

$this->extensionResourceModelFactory = $extensionResourceModelFactory;

}

función pública ejecutar ()

{

intentar {

$identificación = ‘1’;

$modelo = $este->extensionModelFactory->create();

$resourceModel = $this->extensionResourceModelFactory->create();

$resourceModel->load($modelo, $id); // para carga

$resourceModel->save($modelo); // para guardar

$resourceModel->delete($modelo); // para eliminar

} captura (Excepción $e) {

\Magento\Framework\App\ObjectManager::getInstance()->get(\Psr\Log\LoggerInterface::class)->info($e->getMessage());

}

}

}

Puede usar los métodos load(), save() y delete() usando el fragmento de código anterior en Magento 2 sin ningún problema.

¡Eso es todo!

¿Aún tienes dudas? Házmelo saber a través de los comentarios; Estaré encantado de ayudarte.

Espero que esta publicación de blog lo ayude a enriquecer su conocimiento de codificación de Magento 2. 👨‍💻

¿Está satisfecho con esta solución de Magento? Califica esta publicación de blog con 5 estrellas para hacérmelo saber. 🤩

Además, ¡compartirlo sin tus amigos de Magento a través de las redes sociales es totalmente gratis! Nos animará a publicar más soluciones a problemas de la vida real.

¡Gracias por leer! 🍀