El título lo dice todo.
Entiendo que entity_load proporciona un medio eficiente y eficiente para cargar múltiples nodos al tiempo que reduce las consultas de la base de datos, por lo que supongo que en ese caso debería estar usando entity_load (). Pero cuando solo quiero un nodo, ¿qué debo usar? ¿Y node_load () quedará en desuso en d8 a favor de la API más genérica entity_load ()?
Supongo que la misma pregunta se aplica también a la familiar user_load ().

Respuestas:
node_loades solo un envoltorio elegante paraentity_load.Eso es
node_loadllamadas,node_load_multipleque es un contenedor paraentity_load. Esto significa que, en cuanto al rendimiento, no hay mucha diferencia, qué función utiliza, a menos que tenga que cargar muchos nodos.node_loadtiene muchas ventajas sobreentity_loadEn resumen,
node_loades una conveniencia que siempre debe usar siempre que sea posible, y luego recurrir a losnode_load_multiplecasos en los que necesite cargar muchos más nodos.entity_loaddebe usarse para cargar entidades cuando no conoce el tipo, o lo tiene almacenado en una variable, en cuyo caso puede hacerlofuente
node_load()es a lo que estamos acostumbrados.Use node_load () cuando tenga un solo nodo para cargar y node_load_multiple () cuando tenga más de ellos. Use entity_load () directamente cuando no conozca el tipo de entidad de antemano, por ejemplo
entity_load($type, array($id)).Tenga en cuenta que entity_load () tiene un nombre inconsistente, en realidad debería ser entity_load_multiple (), ya que permite cargar múltiples resultados y devuelve una matriz de resultados.
fuente
node_load()es la función que existía antes de que la entidad API se introdujera en Drupal 7. La diferencia conentity_load()es que acepta parámetros que son específicos para cargar un objeto de nodo, como$vid. La función llamanode_load_multiple(); es útil por razones de compatibilidad y porque requiere menos parámetros.En Drupal 8
node_load(),node_load_multiple()yentity_load()están en desuso. Esto se eliminan cuando Drupal 9 tendrá su versión estable).Además, en Drupal 8 las llamadas a esas funciones deben cambiarse, ya que en Drupal 8:
node_load()no usa$vidcomo segundo parámetroentity_load()ynode_load_multiple()no usar$conditioncomo segundo parámetro (y ya estaba marcado como obsoleto en Drupal 7)fuente