選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

37 行
783B

  1. <?php
  2. namespace App\Util;
  3. class UrlUtil
  4. {
  5. /**
  6. * 画面のURLを生成する
  7. *
  8. * @param array|string $path
  9. * @return string
  10. */
  11. public static function getAppUrl(array|string $path, array $query = []): string
  12. {
  13. $elements = [config("app.url")];
  14. if (is_array($path)) {
  15. $elements = array_merge($elements, $path);
  16. } else {
  17. $elements[] = $path;
  18. }
  19. $url = implode("/", $elements);
  20. if (!!$query) {
  21. $url .= "?";
  22. $queryStrList = [];
  23. foreach ($query as $key => $value) {
  24. $queryStrList[] = sprintf("%s=%s", $key, $value);
  25. }
  26. $url .= implode("&", $queryStrList);
  27. }
  28. return $url;
  29. }
  30. }