當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Drupal::TypedDataManager方法代碼示例

本文整理匯總了PHP中Drupal::TypedDataManager方法的典型用法代碼示例。如果您正苦於以下問題:PHP Drupal::TypedDataManager方法的具體用法?PHP Drupal::TypedDataManager怎麽用?PHP Drupal::TypedDataManager使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Drupal的用法示例。


在下文中一共展示了Drupal::TypedDataManager方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testEntityConstraintValidation

 /**
  * Tests validation constraints provided by the Entity API.
  */
 public function testEntityConstraintValidation()
 {
     $entity = $this->createTestEntity('entity_test');
     $entity->save();
     // Create a reference field item and let it reference the entity.
     $definition = BaseFieldDefinition::create('entity_reference')->setLabel('Test entity')->setSetting('target_type', 'entity_test');
     $reference_field = \Drupal::typedDataManager()->create($definition);
     $reference = $reference_field->first()->get('entity');
     $reference->setValue($entity);
     // Test validation the typed data object.
     $violations = $reference->validate();
     $this->assertEqual($violations->count(), 0);
     // Test validating an entity of the wrong type.
     $user = $this->createUser();
     $user->save();
     $node = entity_create('node', array('type' => 'page', 'uid' => $user->id()));
     $reference->setValue($node);
     $violations = $reference->validate();
     $this->assertEqual($violations->count(), 1);
     // Test bundle validation.
     NodeType::create(array('type' => 'article'))->save();
     $definition = BaseFieldDefinition::create('entity_reference')->setLabel('Test entity')->setSettings(array('target_type' => 'node', 'target_bundle' => 'article'));
     $reference_field = \Drupal::TypedDataManager()->create($definition);
     $reference = $reference_field->first()->get('entity');
     $reference->setValue($node);
     $violations = $reference->validate();
     $this->assertEqual($violations->count(), 1);
     $node = entity_create('node', array('type' => 'article', 'uid' => $user->id()));
     $node->save();
     $reference->setValue($node);
     $violations = $reference->validate();
     $this->assertEqual($violations->count(), 0);
 }
開發者ID:davidsoloman,項目名稱:drupalconsole.com,代碼行數:36,代碼來源:EntityFieldTest.php


注:本文中的Drupal::TypedDataManager方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。