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