protected RelationLinkManager::writeCache($context = array())
Writes the cache of relation links.
Parameters
array $context: Context from the normalizer/serializer operation.
File
- core/modules/rest/src/LinkManager/RelationLinkManager.php, line 120
Class
Namespace
Drupal\rest\LinkManager
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | protected function writeCache( $context = array ()) { $data = array (); foreach ( $this ->entityManager->getDefinitions() as $entity_type ) { if ( $entity_type instanceof ContentEntityTypeInterface) { foreach ( $this ->entityManager->getBundleInfo( $entity_type ->id()) as $bundle => $bundle_info ) { foreach ( $this ->entityManager->getFieldDefinitions( $entity_type ->id(), $bundle ) as $field_definition ) { $relation_uri = $this ->getRelationUri( $entity_type ->id(), $bundle , $field_definition ->getName(), $context ); $data [ $relation_uri ] = array ( 'entity_type' => $entity_type , 'bundle' => $bundle , 'field_name' => $field_definition ->getName(), ); } } } } // These URIs only change when field info changes, so cache it permanently // and only clear it when the fields cache is cleared. $this ->cache->set( 'rest:links:relations' , $data , Cache::PERMANENT, array ( 'entity_field_info' )); } |
Please login to continue.