Mercurial > hg > cmmr2012-drupal-site
annotate vendor/symfony/validator/Util/PropertyPath.php @ 4:a9cd425dd02b
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:11:55 +0000 |
parents | c75dbcec494b |
children |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 /* |
Chris@0 | 4 * This file is part of the Symfony package. |
Chris@0 | 5 * |
Chris@0 | 6 * (c) Fabien Potencier <fabien@symfony.com> |
Chris@0 | 7 * |
Chris@0 | 8 * For the full copyright and license information, please view the LICENSE |
Chris@0 | 9 * file that was distributed with this source code. |
Chris@0 | 10 */ |
Chris@0 | 11 |
Chris@0 | 12 namespace Symfony\Component\Validator\Util; |
Chris@0 | 13 |
Chris@0 | 14 /** |
Chris@0 | 15 * Contains utility methods for dealing with property paths. |
Chris@0 | 16 * |
Chris@0 | 17 * For more extensive functionality, use Symfony's PropertyAccess component. |
Chris@0 | 18 * |
Chris@0 | 19 * @author Bernhard Schussek <bschussek@gmail.com> |
Chris@0 | 20 */ |
Chris@0 | 21 class PropertyPath |
Chris@0 | 22 { |
Chris@0 | 23 /** |
Chris@0 | 24 * Appends a path to a given property path. |
Chris@0 | 25 * |
Chris@0 | 26 * If the base path is empty, the appended path will be returned unchanged. |
Chris@0 | 27 * If the base path is not empty, and the appended path starts with a |
Chris@0 | 28 * squared opening bracket ("["), the concatenation of the two paths is |
Chris@0 | 29 * returned. Otherwise, the concatenation of the two paths is returned, |
Chris@0 | 30 * separated by a dot ("."). |
Chris@0 | 31 * |
Chris@0 | 32 * @param string $basePath The base path |
Chris@0 | 33 * @param string $subPath The path to append |
Chris@0 | 34 * |
Chris@0 | 35 * @return string The concatenation of the two property paths |
Chris@0 | 36 */ |
Chris@0 | 37 public static function append($basePath, $subPath) |
Chris@0 | 38 { |
Chris@0 | 39 if ('' !== (string) $subPath) { |
Chris@0 | 40 if ('[' === $subPath[0]) { |
Chris@0 | 41 return $basePath.$subPath; |
Chris@0 | 42 } |
Chris@0 | 43 |
Chris@0 | 44 return '' !== (string) $basePath ? $basePath.'.'.$subPath : $subPath; |
Chris@0 | 45 } |
Chris@0 | 46 |
Chris@0 | 47 return $basePath; |
Chris@0 | 48 } |
Chris@0 | 49 |
Chris@0 | 50 /** |
Chris@0 | 51 * Not instantiable. |
Chris@0 | 52 */ |
Chris@0 | 53 private function __construct() |
Chris@0 | 54 { |
Chris@0 | 55 } |
Chris@0 | 56 } |