 
Տվյալների բազայի API-ն սխալի դեպքում նետում է բացառություններ, որոնք կարող են բռնվել, երբ տվյալների բազայի գործողությունները ներմուծվում են try {} catch() {} բլոկների մեջ, ինչպես ցույց է տրված այս օրինակով՝
 
 
Drupal-ի տվյալների շերտը չի ապահովում SQL ֆունկցիաների բազաների միջեւ արտացոլում: Նորաբացատրելիությունն ապահովելու համար ձեր կոդը պետք է օգտագործի միայն այն ֆունկցիաները, որոնք հայտնի են որպես ANSI ստանդարտի մաս և աջակցվում են Drupal-ի կողմից աջակցվող բոլոր տվյալների բազաներում: Դ 아래 նշվածը դեռ ամբողջական ցանկ չէ: Այստեղ օգտագործված ձևաչափը խորհուրդ է տրվում, քանի որ այլ սինտաքսային տարբերակներ կարող են չաշխատել բոլոր տվյալների բազաներում։
 
 
Drupal 8-ի Entity համակարգը
Entity-ները տիպավորված դասեր են մեթոդներով
| Ընդհանուր մեթոդներ | $entity->id() | 
| Entity-ի տիպին հատուկ մեթոդներ | $node->getTitle() | 
 
 
- Drupal 7-ում Entity-ները սովորաբար stdClass օբյեկտներ էին:
- Drupal 8-ում Entity-ները այժմ հատուկ տիպավորությամբ օբյեկտներ են, և յուրաքանչյուր Entity տիպ սահմանում է դաս, որը կկիրառվի տվյալ Entity-ի օրինակների համար:
Պահանջներ
Entity դասերը պետք է գտնվեն մոդուլի Entity ենթաստեղծության մեջ, որը տրամադրում է Entity տիպը, օրինակ՝ \Drupal\[module_name]\Entity։ Սա նշանակում է, որ PHP Entity դասերի ֆայլերը պետք է գտնվեն մոդուլի src/Entity թղթապանակում։
 
 
Փոխանցում է ընդհանուր օբյեկտի API մեթոդները
- Entity::create()
- Entity::load()
- Entity::save()
- Entity::id()
- Entity::bundle()
- Entity::isNew()
- Entity::label()
Ավելին կոնկրետ API-ներ կքննարկվեն համապատասխան գլուխներում։
 
 
Drupal 8-ում փաթեթները (bundles) տեղեկատվության պահոցների տեսակ են, որոնք պարունակում են դաշտերի սահմանումներ կամ կարգավորումներ։ Դրանք երբեմն կոչվում են «փոխատիպեր»։ Փաթեթները ընտրովի են և տեղակայվում են էնթիթի տեսակների տակ տեղեկատվական պահոցների հիերարխիայում։
 
 
Կոնֆիգուրացիոն օբյեկտները օգտագործում են Entity API՝ կոնֆիգուրացիան պահպանելու համար տվյալների բազայում։
Տարբերությունները համեմատած Content Entity-ի հետ
- Inteգրված է CMI API-ի հետ՝ արտահանման հնարավորությամբ
- Առանց դաշտերի
- Սխեմայի ֆայլ (Content Entity-ն օգտագործում է hook_schema())
Ուսուցողական նյութեր
 
 
Այս հուշատախտակը պարունակում է բովանդակության օբյեկտների հաճախ օգտագործվող մեթոդների, դասերի և ինտերֆեյսների ակնարկ:

 
 
Դիտարանութիւն
Այս փաստաթուղթը նախատեսված է առաջին հերթին օբյեկտային PHP ծրագրավորման փորձ ունեցող ծրագրավորողների, Drupal 6 կամ Drupal 7-ի փորձ ունեցող և նրանց համար, ովքեր ցանկանում են ուսումնասիրել Drupal 8-ի սկզբունքները:
Drupal 8-ում Content Entity տիպի ստեղծման փաստաթուղթը պարունակում է հասանելի բոլոր ընտրանքների ամբողջական ցանկը։
Content Entity տիպի ստեղծում առանց բունդլի Drupal 8-ում
Այս դեպքում մենք ստեղծում ենք Drupal 8-ի content entity, որը չունի որևէ բունդլ։
 
 
Այս էջը պատճեն է Drupal 8 մոդուլի «Ավտոմատ միացնել» կոնֆիգուրացիայի։ Կայուն համարեք որպես վերահինացում։
Օգտվողի կոնտենտի տիպի ստեղծումը շատ հեշտացել է նոր կոնֆիգուրացիոն API-ի շնորհիվ, որը ներառված է Drupal 8-ում։
