function UriItem::generateSampleValue

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UriItem.php \Drupal\Core\Field\Plugin\Field\FieldType\UriItem::generateSampleValue()
  2. 8.9.x core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UriItem.php \Drupal\Core\Field\Plugin\Field\FieldType\UriItem::generateSampleValue()
  3. 11.x core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UriItem.php \Drupal\Core\Field\Plugin\Field\FieldType\UriItem::generateSampleValue()

Overrides StringItem::generateSampleValue

2 calls to UriItem::generateSampleValue()
EntityFile::processStubRow in core/modules/file/src/Plugin/migrate/destination/EntityFile.php
Populates as much of the stub row as possible.
UriItemTest::testGenerateSampleValue in core/tests/Drupal/Tests/Core/Field/UriItemTest.php
Tests generating sample values.

File

core/lib/Drupal/Core/Field/Plugin/Field/FieldType/UriItem.php, line 81

Class

UriItem
Defines the 'uri' entity field type.

Namespace

Drupal\Core\Field\Plugin\Field\FieldType

Code

public static function generateSampleValue(FieldDefinitionInterface $field_definition) {
    $random = new Random();
    $max_length = $field_definition->getSetting('max_length');
    $min_length = min(10, $max_length);
    // The random value is generated multiple times to create a slight
    // preference towards values that are closer to the minimum length of the
    // string.
    $length = mt_rand($min_length, mt_rand($min_length, mt_rand($min_length, $max_length)));
    $values['value'] = $random->word($length);
    $suffix_length = $max_length - 7;
    foreach ($values as $key => $value) {
        $values[$key] = 'http://' . mb_substr($value, 0, $suffix_length);
    }
    return $values;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.