Ответы:
Вы можете использовать фасад фасада, который позволяет вам звонить генератору URL.
Так что вы можете сделать:
URL::to('/');
Вы также можете использовать контейнер приложения:
$app->make('url')->to('/');
$app['url']->to('/');
App::make('url')->to('/');
Или введите UrlGenerator:
<?php
namespace Vendor\Your\Class\Namespace;
use Illuminate\Routing\UrlGenerator;
class Classname
{
protected $url;
public function __construct(UrlGenerator $url)
{
$this->url = $url;
}
public function methodName()
{
$this->url->to('/');
}
}
{{URL::to('/my-page.html')}}
при взгляде и echo URL::to('/my-page.html');
в коде
<a class="button is-primary" href="<?= URL::to('/'); ?>/atencion/reporte" target="_blank">
спасибо!
Laravel <5.2
echo url();
Laravel> = 5.2
echo url('/');
Надеюсь, это поможет вам
url('/')
вместо этого однако
asset('/')
мне кажется лучше, потому что он имеет косую черту, которая необходима в базовом href.
Для Laravel 5 я обычно использую:
<a href="{{ url('/path/uri') }}">Link Text</a>
Я понимаю, что использование url()
функции вызывает так же, Facade
какURL::to()
secure_url()
функцию аналогичным образом, и при этом будет создана ссылка https. Использование url()
на сайте https будет по-прежнему создавать ссылку http.
url()
генерирует http или https ссылку на основе протокола запроса. С другой стороны secure_url()
не существует. Изменилось ли это и в Laravel 5.4?
secure_url()
доступна здесь: laravel.com/docs/5.4/helpers#method-secure-url
Обновление документации 2018 года выпуска Laravel (5.7) с некоторыми дополнительными функциями url () и его использованием.
Вопрос: Получить URL сайта в Laravel?
Это своего рода общий вопрос, поэтому мы можем разделить его.
1. Доступ к базовому URL
// Get the base URL.
echo url('');
// Get the app URL from configuration which we set in .env file.
echo config('app.url');
2. Доступ к текущему URL
// Get the current URL without the query string.
echo url()->current();
// Get the current URL including the query string.
echo url()->full();
// Get the full URL for the previous request.
echo url()->previous();
3. URL для именованных маршрутов
// http://example.com/home
echo route('home');
4. URL-адреса активов (общедоступные)
// Get the URL to the assets, mostly the base url itself.
echo asset('');
5. Файловые URL
use Illuminate\Support\Facades\Storage;
$url = Storage::url('file.jpg'); // stored in /storage/app/public
echo url($url);
К каждому из этих методов можно также получить доступ через фасад URL:
use Illuminate\Support\Facades\URL;
echo URL::to(''); // Base URL
echo URL::current(); // Current URL
Как вызывать эти вспомогательные функции из шаблона Blade (Views) с использованием.
// http://example.com/login
{{ url('/login') }}
// http://example.com/css/app.css
{{ asset('css/app.css') }}
// http://example.com/login
{{ route('login') }}
// usage
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
<!-- Login link -->
<a class="nav-link" href="{{ route('login') }}">Login</a>
<!-- Login Post URL -->
<form method="POST" action="{{ url('/login') }}">
Чтобы заставить его работать с не симпатичными URL, я должен был сделать:
asset('/');
<base href="{{ asset('/') }}" />
<base href="..."/>
из-за косой черты
Laravel предоставляет множество вспомогательных функций, и по вашему желанию вы можете просто
использовать функцию url () помощников Laravel
но в случае с Laravel 5.2 вам придется использовать url ('/')
вот список всех других вспомогательных функций Laravel
url('/css/style.css')
Другая возможность: {{ URL::route('index') }}
Вы также можете использовать URL :: to ('/') для отображения изображения в Laravel. Пожалуйста, смотрите ниже:
<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100">
Предположим, что ваше изображение хранится в «public / images».
Чтобы просто получить URL-адрес приложения, которое вы настроили, вы можете использовать:
Config::get('app.url')
app.url
похоже, это запасной вариант
Я использовал это, и это сработало для меня в Laravel 5.3.18:
<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>
ВАЖНОЕ ПРИМЕЧАНИЕ. Это будет работать только в том случае, если вы уже удалили «public» из своего URL. Для этого вы можете проверить этот полезный учебник .
Кстати, если у вашего маршрута есть имя вроде:
Route::match(['get', 'post'], 'specialWay/edit', 'SpecialwayController@edit')->name('admin.spway.edit');
Вы можете использовать route()
функцию следующим образом:
<form method="post" action="{{route('admin.spway.edit')}}" class="form form-horizontal" id="form-spway-edit">
Другие полезные функции:
$uri = $request->path();
$url = $request->url();
$url = $request->fullUrl();
asset()
app_path();
// ...
https://github.com/laravel/framework/blob/5.4/src/Illuminate/Foundation/helpers.php
Вы можете использовать фасады или вспомогательные функции, как описано ниже.
echo URL::to('/');
echo url();
Laravel использует Symfony Component for Request, внутреннюю логику Laravel, как описано ниже.
namespace Symfony\Component\HttpFoundation;
/**
* {@inheritdoc}
*/
protected function prepareBaseUrl()
{
$baseUrl = $this->server->get('SCRIPT_NAME');
if (false === strpos($this->server->get('REQUEST_URI'), $baseUrl)) {
// assume mod_rewrite
return rtrim(dirname($baseUrl), '/\\');
}
return $baseUrl;
}
Я нашел другой способ просто получить базовый URL для отображения значения переменной окружения APP_URL
env('APP_URL')
который будет отображать базовый URL-адрес, например http: // domains_your // yours_website . будьте осторожны, предполагается, что вы установили переменную окружения в файле .env (который находится в корневой папке).
я также использовал функцию base_path (), и она работала
/something/
нем, вы получите правильный URL.