Відповіді:
Ви можете використовувати фасад URL-адрес, який дозволяє здійснювати дзвінки до генератора 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">
дякую!
Ларавель <5.2
echo url();
Ларавель> = 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
Оновлення документації щодо випуску Laravel (5.7) 2018 року з деякими додатковими функціями 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
Як викликати ці функції помічників із шаблону леза (Перегляди) із використанням.
// 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') }}">
Laravel пропонує безліч допоміжних функцій, і для вашої потреби ви можете просто
використовувати url () функцію Laravel Helpers
але у випадку 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 для запиту, внутрішню логіку 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 // Your_website . будьте уважні, він передбачає, що ви встановили змінну середовища у .env-файл (який присутній у кореневій папці).
Я також використовував fux base_path (), і він працював
/something/
ньому, ви зробите правильну URL-адресу.