annotate vendor/symfony/validator/Util/PropertyPath.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
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 }