ProjectConfig

Type
Class
Namespace
craft\helpers
Inherits
craft\helpers\ProjectConfig
Since
3.1.0

Class ProjectConfig

View source

# Public Methods

Method Description
cleanupConfig() Traverse and clean a config array, removing empty values and sorting keys.
ensureAllFieldsProcessed() Ensures all field config changes are processed immediately in a safe manner.
ensureAllGqlSchemasProcessed() Ensure all GraphQL schema config changes are processed immediately in a safe manner.
ensureAllSitesProcessed() Ensure all site config changes are processed immediately in a safe manner.
ensureAllUserGroupsProcessed() Ensure all user group config changes are processed immediately in a safe manner.
flattenConfigArray() Flatten a config array to a dot.based.key array.
packAssociativeArray() Prepares an associative array for storage in project config, so that the order of its items will be remembered.
packAssociativeArrays() Loops through an array, and prepares any nested associative arrays for storage in project config, so that the order of its items will be remembered.
reset() Resets the static memoization variables.
splitConfigIntoComponents() Take a project config array and split it into components.
unpackAssociativeArray() Restores an array that was prepared via packAssociativeArray() to its original form.
unpackAssociativeArrays() Loops through an array, and restores any arrays that were prepared via packAssociativeArray() to their original form.

# cleanupConfig()

Since
3.1.14

Traverse and clean a config array, removing empty values and sorting keys.

View source

Arguments

  • $config (array) – Config array to clean

Returns

array

Throws

# ensureAllFieldsProcessed()

Ensures all field config changes are processed immediately in a safe manner.

View source

# ensureAllGqlSchemasProcessed()

Ensure all GraphQL schema config changes are processed immediately in a safe manner.

View source

# ensureAllSitesProcessed()

Ensure all site config changes are processed immediately in a safe manner.

View source

# ensureAllUserGroupsProcessed()

Ensure all user group config changes are processed immediately in a safe manner.

View source

# flattenConfigArray()

Since
3.4.0

Flatten a config array to a dot.based.key array.

View source

Arguments

  • $array
  • $path
  • $result

# packAssociativeArray()

Since
3.4.0

Prepares an associative array for storage in project config, so that the order of its items will be remembered.

TIP

Use unpackAssociativeArray() to restore the array to its original form when fetching the value from the Project Config.

View source

Arguments

  • $array (array)
  • $recursive (boolean) – Whether to process nested associative arrays as well

Returns

array

Example

$myArray = [
    'foo' => 1,
    'bar' => 2,
];

// "Pack" the array so it doesn't get reordered to [bar=>2,foo=>1]
$packedArray = \craft\helpers\ProjectConfig::packAssociativeArray($myArray);

Craft::$app->projectConfig->set($configKey, $packedArray);

# packAssociativeArrays()

Since
3.4.0

Loops through an array, and prepares any nested associative arrays for storage in project config, so that the order of its items will be remembered.

View source

Arguments

  • $array (array)
  • $recursive (boolean) – Whether to process nested associative arrays as well

Returns

array

# reset()

Resets the static memoization variables.

View source

Returns

void

# splitConfigIntoComponents()

Since
3.5.0

Take a project config array and split it into components.

Components are defined per each second-level config entry, where all the sibling entries are keyed by UIDs.

View source

Arguments

Returns

array – In the form of [$file => $config], where $file is the relative config file path in Project Config folder

# unpackAssociativeArray()

Since
3.4.0

Restores an array that was prepared via packAssociativeArray() to its original form.

View source

Arguments

  • $array (array)
  • $recursive (boolean) – Whether to process nested associative arrays as well

Returns

array

# unpackAssociativeArrays()

Since
3.4.0

Loops through an array, and restores any arrays that were prepared via packAssociativeArray() to their original form.

View source

Arguments

Returns

array