NameBuilder.php 739 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. /**
  3. * Name builder
  4. *
  5. * Copyright © Magento, Inc. All rights reserved.
  6. * See COPYING.txt for license details.
  7. */
  8. namespace Magento\Framework\Code;
  9. class NameBuilder
  10. {
  11. /**
  12. * Builds namespace + classname out of the parts array
  13. *
  14. * Split every part into pieces by _ and \ and uppercase every piece
  15. * Then join them back using \
  16. *
  17. * @param string[] $parts
  18. * @return string
  19. */
  20. public function buildClassName($parts)
  21. {
  22. $separator = '\\';
  23. $string = join($separator, $parts);
  24. $string = str_replace('_', $separator, $string);
  25. $className = str_replace(' ', $separator, ucwords(str_replace($separator, ' ', $string)));
  26. return $className;
  27. }
  28. }