L'API del Database genera eccezioni in caso di errore, che possono essere intercettate racchiudendo le operazioni sul database in blocchi try {} catch() {}, come mostrato in questo esempio:
Il livello del database di Drupal non fornisce un'astrazione cross-database per le funzioni SQL. Per garantire la portabilità tra i motori di database supportati, il tuo codice deve utilizzare solo quelle funzioni che sono note per far parte dello standard ANSI e che sono supportate in tutti i database che Drupal supporta. Quanto segue è ancora un elenco incompleto. La forma utilizzata qui è raccomandata, poiché altre varianti di sintassi potrebbero non funzionare in tutti i database.
Sistema delle entità in Drupal 8
Le entità sono classi tipizzate con metodi
| Metodi generici |
$entity->id() |
| Metodi specifici del tipo di entità | $node->getTitle() |
- Drupal 7 - le entità erano oggetti generici stdClass.
- Drupal 8 - le entità ora sono oggetti con tipizzazione specifica, e ogni tipo di entità definisce la classe che sarà utilizzata per le istanze di quella entità.
Requisiti
Le classi delle entità devono essere collocate nello spazio dei nomi Entity del modulo che fornisce il tipo di entità, ad esempio \Drupal\[module_name]\Entity. Questo significa che i file PHP della classe dell’entità si trovano nella cartella src/Entity del modulo.
Copre i metodi API generali delle entità.
- Entity::create()
- Entity::load()
- Entity::save()
- Entity::id()
- Entity::bundle()
- Entity::isNew()
- Entity::label()
API più specifici saranno trattati nei capitoli dedicati.
In Drupal 8, i bundle sono un tipo di contenitore di informazioni che includono definizioni di campi o impostazioni. Talvolta vengono chiamati “sottotipi”. I bundle sono opzionali e si trovano sotto i tipi di entità nella gerarchia dei contenitori di informazioni.
Gli oggetti di configurazione utilizzano l’Entity API per salvare la configurazione nel database.
Differenze rispetto alle Entità di Contenuto
- Si integra con l’CMI API per l’esportazione
- Nessun campo
- File di schema (le Entità di Contenuto usano hook_schema())
Tutorial
Questo cheat sheet contiene una panoramica dei metodi, classi e interfacce più usati per le entità di contenuto.
![]()
Pubblico di riferimento
Questa documentazione è rivolta principalmente agli sviluppatori con esperienza di programmazione in PHP orientato agli oggetti, Drupal 6 o Drupal 7, e a chi desidera imparare i principi di Drupal 8.
Questa pagina è una copia della configurazione “Enabled by default” nel modulo Drupal 8. Questo dovrebbe essere considerato deprecato.
La creazione di un tipo di contenuto personalizzato è diventata piuttosto semplice grazie alla nuova API di configurazione inclusa in Drupal 8.