comparison core/modules/language/src/Config/LanguageConfigCollectionNameTrait.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2
3 namespace Drupal\language\Config;
4
5 /**
6 * Provides a common trait for working with language override collection names.
7 */
8 trait LanguageConfigCollectionNameTrait {
9
10 /**
11 * Creates a configuration collection name based on a language code.
12 *
13 * @param string $langcode
14 * The language code.
15 *
16 * @return string
17 * The configuration collection name for a language code.
18 */
19 protected function createConfigCollectionName($langcode) {
20 return 'language.' . $langcode;
21 }
22
23 /**
24 * Converts a configuration collection name to a language code.
25 *
26 * @param string $collection
27 * The configuration collection name.
28 *
29 * @return string
30 * The language code of the collection.
31 *
32 * @throws \InvalidArgumentException
33 * Exception thrown if the provided collection name is not in the format
34 * "language.LANGCODE".
35 *
36 * @see self::createConfigCollectionName()
37 */
38 protected function getLangcodeFromCollectionName($collection) {
39 preg_match('/^language\.(.*)$/', $collection, $matches);
40 if (!isset($matches[1])) {
41 throw new \InvalidArgumentException("'$collection' is not a valid language override collection");
42 }
43 return $matches[1];
44 }
45
46 }