aklump/default-value

Calculates the default value based on variable type, including fully-qualified classnames.

0.0.6 2024-02-17 23:35 UTC

This package is auto-updated.

Last update: 2024-11-18 01:33:30 UTC


README

A small utility to return a default value or instance based on a variable type or classname.

Vanilla PHP

<?php

$variable_types = [
  'array',
  'bool',
  'boolean',
  'double',
  'float',
  'int',
  'integer',
  'null',
  'number',
  'object',
  'string',

  // In addition you can pass fully-qualified class names, so long as their
  // constructors do not REQUIRE any parameters.
  '\Foo\Bar\Baz',
];

foreach ($variable_types as $variable_type) {
  $default_value = \AKlump\DefaultValue\DefaultValue::get($variable_type);
}

Drupal 8+ Integration

When using within a Drupal installation use the class \Drupal\Component\Utility\DefaultValue and you'll get special Drupal support, in addition to the vanilla PHP explained above.

<?php

$special_drupal_variable_types = [

  // This is a service ID.
  '@current_user',
  
  // This class has a ::create method with no required arguments.
  '\Drupal\user\Entity\User',

  // This class implements ContainerInjectionInterface.
  '\Drupal\system\Controller\CsrfTokenController',
];

foreach ($special_drupal_variable_types as $variable_type) {
  $default_value = \Drupal\Component\Utility\DefaultValue::get($variable_type);
}