Я новичок в Slim Framework.  Как получить базовый URL-адрес, например, с помощью функции base_url() ? 
благодаря
Вам необходимо установить базовый url вручную FIRST, прежде чем вы сможете его получить, как в этом:
 $app->hook('slim.before', function () use ($app) { $app->view()->appendData(array('baseUrl' => '/base/url/here')); }); 
С Slim v3, когда он реализует PSR7, вы можете получить объект PSR7 Uri и вызвать метод getBasePath (), который Slim3 добавляет к нему. Просто напишите:
 $basePath = $request->getUri()->getBasePath(); 
Из документации Slim v3 :
Базовый путь
Если фронт-контроллер вашего Slim-приложения находится в физической подкаталоге под корневым каталогом вашего документа, вы можете получить физический базовый путь HTTP-запроса (относительно корня документа) с помощью метода getBasePath () объекта Uri. Это будет пустая строка, если приложение Slim установлено в самый верхний каталог корневого каталога документа.
Имейте в виду, что метод getBasePath () добавляется каркасом и не является частью PSR7 UriInterface .
В недавнем приложении, где мы используем Twig, мы назначаем httpBasePath следующим образом:
 $view = $app->view()->getEnvironment(); $view->addGlobal('httpBasePath', $app->request->getScriptName()); 
  Метод addGlobal() вероятно, эквивалентен $app->view()->appendData() , я не уверен. 
  Преимущество использования $app->request->getScriptName() заключается в том, что нам не нужно вручную устанавливать имя папки или заботиться о том, что это такое: у одного разработчика может быть репо, расположенное по адресу http://example.localhost а другое может иметь его в http://localhost/projects/slim и не требуется настройка. 
Попробуйте в index.php установить базовый url для представления
 $app->hook('slim.before', function () use ($app) { $posIndex = strpos( $_SERVER['PHP_SELF'], '/index.php'); $baseUrl = substr( $_SERVER['PHP_SELF'], 0, $posIndex); $app->view()->appendData(array('baseUrl' => $baseUrl )); }); 
  Я могу получить базовый url с {{ app.request.getRootUri }} (я использую механизм шаблонов Twig).  Кстати, это то же самое, что и переменная среды SCRIPT_NAME. 
если вы используете TWIG, тогда в Slim v3 call –
 {{ base_url() }} 
  или используйте {{ path_for('yourRouteName') }} 
  Самый простой способ получить базовый url – добавить URL-адрес запроса и корневой URL-адрес запроса, как $req = $app->request; $base_url = $req->getUrl()."".$req->getRootUri()."/"; ниже: $req = $app->request; $base_url = $req->getUrl()."".$req->getRootUri()."/"; $req = $app->request; $base_url = $req->getUrl()."".$req->getRootUri()."/";