• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP Field\FieldStorageDefinitionInterface类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中Drupal\Core\Field\FieldStorageDefinitionInterface的典型用法代码示例。如果您正苦于以下问题:PHP FieldStorageDefinitionInterface类的具体用法?PHP FieldStorageDefinitionInterface怎么用?PHP FieldStorageDefinitionInterface使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了FieldStorageDefinitionInterface类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: deleteLastInstalledFieldStorageDefinition

 /**
  * {@inheritdoc}
  */
 public function deleteLastInstalledFieldStorageDefinition(FieldStorageDefinitionInterface $storage_definition)
 {
     $entity_type_id = $storage_definition->getTargetEntityTypeId();
     $definitions = $this->getLastInstalledFieldStorageDefinitions($entity_type_id);
     unset($definitions[$storage_definition->getName()]);
     $this->setLastInstalledFieldStorageDefinitions($entity_type_id, $definitions);
 }
开发者ID:aWEBoLabs,项目名称:taxi,代码行数:10,代码来源:EntityLastInstalledSchemaRepository.php


示例2: propertyDefinitions

 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     // This is called very early by the user entity roles field. Prevent
     // early t() calls by using the TranslationWrapper.
     $properties['value'] = DataDefinition::create('string')->setLabel(new TranslationWrapper('Text value'))->setSetting('case_sensitive', $field_definition->getSetting('case_sensitive'))->setRequired(TRUE);
     return $properties;
 }
开发者ID:jenter,项目名称:addthis,代码行数:10,代码来源:AddThisItem.php


示例3: schema

 /**
  * {@inheritdoc}
  */
 public static function schema(FieldStorageDefinitionInterface $field_definition)
 {
     $foreign_keys = array();
     // The 'foreign keys' key is not always used in tests.
     if ($field_definition->getSetting('foreign_key_name')) {
         $foreign_keys['foreign keys'] = array($field_definition->getSetting('foreign_key_name') => array('table' => $field_definition->getSetting('foreign_key_name'), 'columns' => array($field_definition->getSetting('foreign_key_name') => 'id')));
     }
     return array('columns' => array('shape' => array('type' => 'varchar', 'length' => 32), 'color' => array('type' => 'varchar', 'length' => 32))) + $foreign_keys;
 }
开发者ID:sarahwillem,项目名称:OD8,代码行数:12,代码来源:ShapeItem.php


示例4: schema

 /**
  * {@inheritdoc}
  */
 public static function schema(FieldStorageDefinitionInterface $field_definition)
 {
     $target_type = $field_definition->getSetting('target_type');
     $target_type_info = \Drupal::entityManager()->getDefinition($target_type);
     if ($target_type_info->isSubclassOf('\\Drupal\\Core\\Entity\\FieldableEntityInterface')) {
         $columns = array('target_id' => array('description' => 'The ID of the target entity.', 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE));
     } else {
         $columns = array('target_id' => array('description' => 'The ID of the target entity.', 'type' => 'varchar', 'length' => $target_type_info->getBundleOf() ? EntityTypeInterface::BUNDLE_MAX_LENGTH : 255));
     }
     $schema = array('columns' => $columns, 'indexes' => array('target_id' => array('target_id')));
     return $schema;
 }
开发者ID:davidsoloman,项目名称:drupalconsole.com,代码行数:15,代码来源:EntityReferenceItem.php


示例5: schema

 /**
  * {@inheritdoc}
  */
 public static function schema(FieldStorageDefinitionInterface $field)
 {
     $backendManager = \Drupal::service('plugin.manager.geofield_backend');
     $backendPlugin = NULL;
     if (isset($field->settings['backend']) && $backendManager->getDefinition($field->settings['backend']) != NULL) {
         $backendPlugin = $backendManager->createInstance($field->getSetting('backend'));
     }
     if ($backendPlugin === NULL) {
         $backendPlugin = $backendManager->createInstance('geofield_backend_default');
     }
     return array('columns' => array('value' => $backendPlugin->schema(), 'geo_type' => array('type' => 'varchar', 'default' => '', 'length' => 64), 'lat' => array('type' => 'numeric', 'precision' => 18, 'scale' => 12, 'not null' => FALSE), 'lon' => array('type' => 'numeric', 'precision' => 18, 'scale' => 12, 'not null' => FALSE), 'left' => array('type' => 'numeric', 'precision' => 18, 'scale' => 12, 'not null' => FALSE), 'top' => array('type' => 'numeric', 'precision' => 18, 'scale' => 12, 'not null' => FALSE), 'right' => array('type' => 'numeric', 'precision' => 18, 'scale' => 12, 'not null' => FALSE), 'bottom' => array('type' => 'numeric', 'precision' => 18, 'scale' => 12, 'not null' => FALSE), 'geohash' => array('type' => 'varchar', 'length' => GEOFIELD_GEOHASH_LENGTH, 'not null' => FALSE)), 'indexes' => array('lat' => array('lat'), 'lon' => array('lon'), 'top' => array('top'), 'bottom' => array('bottom'), 'left' => array('left'), 'right' => array('right'), 'geohash' => array('geohash'), 'centroid' => array('lat', 'lon'), 'bbox' => array('top', 'bottom', 'left', 'right')));
 }
开发者ID:seongbae,项目名称:drumo-distribution,代码行数:15,代码来源:GeofieldItem.php


示例6: isDestinationFieldCompatible

 /**
  * Check if a field on the entity type to update is a possible destination field.
  *
  * @todo Should this be on our FieldManager service?
  *
  * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $definition
  *  Field definition on entity type to update to check.
  * @param \Drupal\Core\Field\FieldDefinitionInterface $source_field
  *  Source field to check compatibility against. If none then check generally.
  *
  * @return bool
  */
 protected function isDestinationFieldCompatible(FieldStorageDefinitionInterface $definition, FieldDefinitionInterface $source_field = NULL)
 {
     // @todo Create field definition wrapper class to treat FieldDefinitionInterface and FieldStorageDefinitionInterface the same.
     if ($definition instanceof BaseFieldDefinition && $definition->isReadOnly()) {
         return FALSE;
     }
     // Don't allow updates on updates!
     if ($definition->getType() == 'entity_reference') {
         if ($definition->getSetting('target_type') == 'scheduled_update') {
             return FALSE;
         }
     }
     if ($source_field) {
         $matching_types = $this->getMatchingFieldTypes($source_field->getType());
         if (!in_array($definition->getType(), $matching_types)) {
             return FALSE;
         }
         // Check cardinality
         $destination_cardinality = $definition->getCardinality();
         $source_cardinality = $source_field->getFieldStorageDefinition()->getCardinality();
         // $destination_cardinality is unlimited. It doesn't matter what source is.
         if ($destination_cardinality != -1) {
             if ($source_cardinality == -1) {
                 return FALSE;
             }
             if ($source_cardinality > $destination_cardinality) {
                 return FALSE;
             }
         }
         switch ($definition->getType()) {
             case 'entity_reference':
                 // Entity reference field must match entity target types.
                 if ($definition->getSetting('target_type') != $source_field->getSetting('target_type')) {
                     return FALSE;
                 }
                 // @todo Check bundles
                 break;
                 // @todo Other type specific conditions?
         }
     }
     return TRUE;
 }
开发者ID:tedbow,项目名称:scheduled-updates-demo,代码行数:54,代码来源:FieldUtilsTrait.php


示例7: schema

 /**
  * {@inheritdoc}
  */
 public static function schema(FieldStorageDefinitionInterface $field_definition)
 {
     $type = $field_definition->getSetting('data_type');
     $schema = array('columns' => array('value' => array('type' => $type)));
     if ($type == 'varchar') {
         $schema['columns']['value']['length'] = (int) $field_definition->getSetting('data_length');
     }
     if ($type == 'text' || $type == 'int' || $type == 'float') {
         $schema['columns']['value']['size'] = $field_definition->getSetting('data_size');
     }
     if ($type == 'decimal') {
         $schema['columns']['value']['precision'] = (int) $field_definition->getSetting('data_precision');
         $schema['columns']['value']['scale'] = (int) $field_definition->getSetting('data_scale');
     }
     return $schema;
 }
开发者ID:justincletus,项目名称:webdrupalpro,代码行数:19,代码来源:ComputedFieldItem.php


示例8: hasColumnChanges

 /**
  * Compares schemas to check for changes in the column definitions.
  *
  * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition
  *   Current field storage definition.
  * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $original
  *   The original field storage definition.
  *
  * @return bool
  *   Returns TRUE if there are schema changes in the column definitions.
  */
 protected function hasColumnChanges(FieldStorageDefinitionInterface $storage_definition, FieldStorageDefinitionInterface $original)
 {
     if ($storage_definition->getColumns() != $original->getColumns()) {
         // Base field definitions have schema data stored in the original
         // definition.
         return TRUE;
     }
     if (!$storage_definition->hasCustomStorage()) {
         $keys = array_flip($this->getColumnSchemaRelevantKeys());
         $definition_schema = $this->getSchemaFromStorageDefinition($storage_definition);
         foreach ($this->loadFieldSchemaData($original) as $table => $table_schema) {
             foreach ($table_schema['fields'] as $name => $spec) {
                 $definition_spec = array_intersect_key($definition_schema[$table]['fields'][$name], $keys);
                 $stored_spec = array_intersect_key($spec, $keys);
                 if ($definition_spec != $stored_spec) {
                     return TRUE;
                 }
             }
         }
     }
     return FALSE;
 }
开发者ID:sgtsaughter,项目名称:d8portfolio,代码行数:33,代码来源:SqlContentEntityStorageSchema.php


示例9: generateFieldTableName

 /**
  * Generates a safe and unambiguous field table name.
  *
  * The method accounts for a maximum table name length of 64 characters, and
  * takes care of disambiguation.
  *
  * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition
  *   The field storage definition.
  * @param bool $revision
  *   TRUE for revision table, FALSE otherwise.
  *
  * @return string
  *   The final table name.
  */
 protected function generateFieldTableName(FieldStorageDefinitionInterface $storage_definition, $revision)
 {
     $separator = $revision ? '_revision__' : '__';
     $table_name = $storage_definition->getTargetEntityTypeId() . $separator . $storage_definition->getName();
     // Limit the string to 48 characters, keeping a 16 characters margin for db
     // prefixes.
     if (strlen($table_name) > 48) {
         // Use a shorter separator, a truncated entity_type, and a hash of the
         // field UUID.
         $separator = $revision ? '_r__' : '__';
         // Truncate to the same length for the current and revision tables.
         $entity_type = substr($storage_definition->getTargetEntityTypeId(), 0, 34);
         $field_hash = substr(hash('sha256', $storage_definition->getUniqueStorageIdentifier()), 0, 10);
         $table_name = $entity_type . $separator . $field_hash;
     }
     return $table_name;
 }
开发者ID:brstde,项目名称:gap1,代码行数:31,代码来源:DefaultTableMapping.php


示例10: storageDefinitionIsDeleted

 /**
  * Determines whether the passed field has been already deleted.
  *
  * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition
  *   The field storage definition.
  *
  * @return bool
  *   Whether the field has been already deleted.
  */
 protected function storageDefinitionIsDeleted(FieldStorageDefinitionInterface $storage_definition)
 {
     return !array_key_exists($storage_definition->getName(), $this->entityManager->getLastInstalledFieldStorageDefinitions($this->entityTypeId));
 }
开发者ID:ddrozdik,项目名称:dmaps,代码行数:13,代码来源:SqlContentEntityStorage.php


示例11: createFromFieldStorageDefinition

 /**
  * Creates a new field definition based upon a field storage definition.
  *
  * In cases where one needs a field storage definitions to act like full
  * field definitions, this creates a new field definition based upon the
  * (limited) information available. That way it is possible to use the field
  * definition in places where a full field definition is required; e.g., with
  * widgets or formatters.
  *
  * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $definition
  *   The field storage definition to base the new field definition upon.
  *
  * @return $this
  */
 public static function createFromFieldStorageDefinition(FieldStorageDefinitionInterface $definition)
 {
     return static::create($definition->getType())->setCardinality($definition->getCardinality())->setConstraints($definition->getConstraints())->setCustomStorage($definition->hasCustomStorage())->setDescription($definition->getDescription())->setLabel($definition->getLabel())->setName($definition->getName())->setProvider($definition->getProvider())->setQueryable($definition->isQueryable())->setRequired($definition->isRequired())->setRevisionable($definition->isRevisionable())->setSettings($definition->getSettings())->setTargetEntityTypeId($definition->getTargetEntityTypeId())->setTranslatable($definition->isTranslatable());
 }
开发者ID:anatalsceo,项目名称:en-classe,代码行数:18,代码来源:FieldDefinition.php


示例12: _fieldColumnName

 /**
  * Generates a column name for a field data table.
  *
  * @private Calling this function circumvents the entity system and is
  * strongly discouraged. This function is not considered part of the public
  * API and modules relying on it might break even in minor releases. Only
  * call this function to write a query that \Drupal::entityQuery() does not
  * support. Always call entity_load() before using the data found in the
  * table.
  *
  * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition
  *   The field storage definition.
  * @param string $column
  *   The name of the column.
  *
  * @return string
  *   A string containing a generated column name for a field data table that is
  *   unique among all other fields.
  */
 public static function _fieldColumnName(FieldStorageDefinitionInterface $storage_definition, $column)
 {
     return in_array($column, FieldStorageConfig::getReservedColumns()) ? $column : $storage_definition->getName() . '_' . $column;
 }
开发者ID:alnutile,项目名称:drunatra,代码行数:23,代码来源:ContentEntityDatabaseStorage.php


示例13: getFieldColumnName

 /**
  * {@inheritdoc}
  */
 public function getFieldColumnName(FieldStorageDefinitionInterface $storage_definition, $column)
 {
     return in_array($column, $this->getReservedColumns()) ? $column : $storage_definition->getName() . '_' . $column;
 }
开发者ID:davidsoloman,项目名称:drupalconsole.com,代码行数:7,代码来源:DefaultTableMapping.php


示例14: schema

 /**
  * {@inheritdoc}
  */
 public static function schema(FieldStorageDefinitionInterface $field_definition)
 {
     return array('columns' => array('value' => array('type' => 'varchar', 'length' => $field_definition->getSetting('max_length')), 'format' => array('type' => 'varchar', 'length' => 255)), 'indexes' => array('format' => array('format')));
 }
开发者ID:aWEBoLabs,项目名称:taxi,代码行数:7,代码来源:TextItem.php


示例15: schema

 /**
  * {@inheritdoc}
  */
 public static function schema(FieldStorageDefinitionInterface $field_definition)
 {
     return array('columns' => array('value' => array('type' => $field_definition->getSetting('case_sensitive') ? 'blob' : 'text', 'size' => 'big')));
 }
开发者ID:ddrozdik,项目名称:dmaps,代码行数:7,代码来源:StringLongItem.php


示例16: propertyDefinitions

 /**
  * {@inheritdoc}
  */
 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition)
 {
     $subfield_types = self::subfieldTypes();
     $settings = $field_definition->getSettings();
     foreach (['first', 'second'] as $subfield) {
         $subfield_type = $settings['storage'][$subfield]['type'];
         // Typed data are slightly different from schema the definition.
         if ($subfield_type == 'text') {
             $subfield_type = 'string';
         } elseif ($subfield_type == 'numeric') {
             $subfield_type = 'float';
         }
         $properties[$subfield] = DataDefinition::create($subfield_type)->setLabel($subfield_types[$subfield_type]);
     }
     return $properties;
 }
开发者ID:justincletus,项目名称:webdrupalpro,代码行数:19,代码来源:DoubleField.php


示例17: getAllFieldConfigsForField

 /**
  * {@inheritdoc}
  */
 public function getAllFieldConfigsForField(FieldStorageDefinitionInterface $definition, $entity_type_id)
 {
     $map = $this->entityFieldManager->getFieldMap()[$entity_type_id];
     $definitions = [];
     $field_name = $definition->getName();
     if (isset($map[$field_name])) {
         $bundles = $map[$field_name]['bundles'];
         foreach ($bundles as $bundle) {
             $bundle_definitions = $this->entityFieldManager->getFieldDefinitions($entity_type_id, $bundle);
             $definitions[$bundle] = $bundle_definitions[$field_name];
         }
     }
     return $definitions;
 }
开发者ID:tedbow,项目名称:scheduled-updates-demo,代码行数:17,代码来源:FieldManager.php


示例18: storageDefinitionIsDeleted

 /**
  * Determines whether the passed field has been already deleted.
  *
  * @param \Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition
  *   The field storage definition.
  *
  * @return bool
  *   Whether the field has been already deleted.
  */
 protected function storageDefinitionIsDeleted(FieldStorageDefinitionInterface $storage_definition)
 {
     // Configurable fields are marked for deletion.
     if ($storage_definition instanceof FieldStorageConfigInterface) {
         return $storage_definition->isDeleted();
     }
     // For non configurable fields check whether they are still in the last
     // installed schema repository.
     return !array_key_exists($storage_definition->getName(), $this->entityManager->getLastInstalledFieldStorageDefinitions($this->entityTypeId));
 }
开发者ID:eigentor,项目名称:tommiblog,代码行数:19,代码来源:SqlContentEntityStorage.php


示例19: schema

 /**
  * {@inheritdoc}
  */
 public static function schema(FieldStorageDefinitionInterface $field_definition)
 {
     $maxlenght = $field_definition->getSetting('maxlength');
     return array('columns' => array('value' => array('type' => 'varchar', 'length' => $maxlenght, 'not null' => FALSE)), 'indexes' => array('value' => array('value')));
 }
开发者ID:dev981,项目名称:gaptest,代码行数:8,代码来源:LanguageItem.php


示例20: schema

 /**
  * {@inheritdoc}
  */
 public static function schema(FieldStorageDefinitionInterface $field_definition)
 {
     return array('columns' => array('value' => array('type' => 'numeric', 'precision' => $field_definition->getSetting('precision'), 'scale' => $field_definition->getSetting('scale'))));
 }
开发者ID:sojo,项目名称:d8_friendsofsilence,代码行数:7,代码来源:DecimalItem.php



注:本文中的Drupal\Core\Field\FieldStorageDefinitionInterface类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP Field\FieldTypePluginManagerInterface类代码示例发布时间:2022-05-23
下一篇:
PHP Field\FieldItemListInterface类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap