Простой вопрос, но ответ кажется довольно сложным. В Codeigniter я мог загрузить помощник URL, а затем просто сделать
echo base_url();
чтобы получить URL моего сайта. Есть ли эквивалент в Laravel?
Вы можете использовать фасад 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('/'); } }
Ларавел <5.2
echo url();
Laravel> = 5.2
echo url('/');
Надеюсь, это поможет вам
Для Laravel 5 я обычно использую:
<a href="{{ url('/path/uri') }}">Link Text</a>
Я понимаю, что использование функции url()
вызывает тот же Facade
что и URL::to()
Laravel предоставляет кучу вспомогательных функций, и для вашего требования вы можете просто
использовать функцию url () помощников Laravel
но в случае Laravel 5.2 вам придется использовать url ('/')
вот список всех других вспомогательных функций Laravel
Чтобы заставить его работать с нечеткими URL-адресами, я должен был сделать:
asset('/');
Эта:
echo url('/');
И это:
echo asset('/');
оба отображали домашний url в моем случае 🙂
Другая возможность: {{ URL::route('index') }}
Чтобы просто получить URL-адрес приложения, который вы настроили, вы можете использовать Config :: get ('app.url').
Я использовал это, и это сработало для меня в Laravel 5.3.18:
<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>
ВАЖНОЕ ПРИМЕЧАНИЕ: Это будет работать только тогда, когда вы уже удалили «общедоступный» из своего URL-адреса. Для этого вы можете ознакомиться с этим полезным руководством .
Вы также можете использовать URL :: to ('/') для отображения изображения в Laravel. См. Ниже:
<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100">
Предположим, что ваше изображение хранится в разделе «public / images».
Кстати, если у вашего маршрута есть такое имя:
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