本文整理汇总了PHP中Drupal\Core\Config\Entity\ConfigEntityInterface::delete方法的典型用法代码示例。如果您正苦于以下问题:PHP ConfigEntityInterface::delete方法的具体用法?PHP ConfigEntityInterface::delete怎么用?PHP ConfigEntityInterface::delete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Drupal\Core\Config\Entity\ConfigEntityInterface
的用法示例。
在下文中一共展示了ConfigEntityInterface::delete方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: assertConfigEntityImport
/**
* Asserts that a config entity can be imported without changing it.
*
* @param \Drupal\Core\Config\Entity\ConfigEntityInterface $entity
* The config entity to test importing.
*/
public function assertConfigEntityImport(ConfigEntityInterface $entity)
{
// Save original config information.
$entity_uuid = $entity->uuid();
$entity_type_id = $entity->getEntityTypeId();
$original_data = $entity->toArray();
// Copy everything to sync.
$this->copyConfig(\Drupal::service('config.storage'), \Drupal::service('config.storage.sync'));
// Delete the configuration from active. Don't worry about side effects of
// deleting config like fields cleaning up field storages. The coming import
// should recreate everything as necessary.
$entity->delete();
$this->configImporter()->reset()->import();
$imported_entity = \Drupal::entityManager()->loadEntityByUuid($entity_type_id, $entity_uuid);
$this->assertIdentical($original_data, $imported_entity->toArray());
}
示例2: testTrackerDependency
/**
* Tests a tracker with a dependency that gets removed.
*
* @param bool $remove_dependency
* Whether to remove the dependency from the tracker when the object
* depended on is deleted.
*
* @dataProvider dependencyTestDataProvider
*/
public function testTrackerDependency($remove_dependency)
{
// Set the tracker for the index and save it. The tracker configuration
// contains the dependencies it will return – in our case, we use the test
// server.
$dependency_key = $this->dependency->getConfigDependencyKey();
$dependency_name = $this->dependency->getConfigDependencyName();
$tracker = \Drupal::getContainer()->get('plugin.manager.search_api.tracker')->createInstance('search_api_test_dependencies', array($dependency_key => array($dependency_name)));
$this->index->setTracker($tracker);
$this->index->save();
// Check the dependencies were calculated correctly.
$dependencies = $this->index->getDependencies();
$this->assertContains($dependency_name, $dependencies[$dependency_key], 'Tracker dependency correctly inserted');
// Set our magic state key to let the test plugin know whether the
// dependency should be removed or not. See
// \Drupal\search_api_test_dependencies\Plugin\search_api\tracker\TestTracker::onDependencyRemoval().
$key = 'search_api_test_dependencies.tracker.remove';
\Drupal::state()->set($key, $remove_dependency);
// If the index resets the tracker, it needs to know the ID of the default
// tracker.
if (!$remove_dependency) {
\Drupal::configFactory()->getEditable('search_api.settings')->set('default_tracker', 'default')->save();
}
// Delete the tracker's dependency.
$this->dependency->delete();
// Reload the index and check it's still there.
$this->reloadIndex();
$this->assertInstanceOf('Drupal\\search_api\\IndexInterface', $this->index, 'Index not removed');
// Make sure the dependency has been removed, one way or the other.
$dependencies = $this->index->getDependencies();
$dependencies += array($dependency_key => array());
$this->assertNotContains($dependency_name, $dependencies[$dependency_key], 'Tracker dependency removed from index');
// Depending on whether the plugin should have removed the dependency or
// not, make sure the right action was taken.
$tracker_instance = $this->index->getTrackerInstance();
$tracker_id = $tracker_instance->getPluginId();
$tracker_config = $tracker_instance->getConfiguration();
if ($remove_dependency) {
$this->assertEquals('search_api_test_dependencies', $tracker_id, 'Tracker not reset');
$this->assertEmpty($tracker_config, 'Tracker settings adapted');
} else {
$this->assertEquals('default', $tracker_id, 'Tracker was reset');
$this->assertEmpty($tracker_config, 'Tracker settings were cleared');
}
}