Laravel: Get base url
Proste pytanie, ale odpowiedź wydaje się dość trudna do zdobycia. W Codeigniter mogę załadować helpera url, a następnie po prostu zrobić
echo base_url();
Aby uzyskać adres URL mojej strony. Czy jest jakiś odpowiednik w Laravel?
12 answers
Możesz użyć elewacji URL, która pozwala na wykonywanie wywołań do generatora URL
Więc możesz zrobić:
URL::to('/');
Możesz również użyć kontenera aplikacji:
$app->make('url')->to('/');
$app['url']->to('/');
App::make('url')->to('/');
Lub wstrzyknąć 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('/');
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-17 10:31:00
Laravel
echo url();
Laravel > = 5.2
echo url('/');
Mam nadzieję, że to ci pomoże]}Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-07 22:03:48
Do Laravel 5 normalnie używam:
<a href="{{ url('/path/uri') }}">Link Text</a>
Rozumiem, że użycie funkcji url()
powoduje wywołanie tego samego Facade
co URL::to()
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-30 23:44:45
Laravel zapewnia kilka funkcji pomocniczych i dla Twoich wymagań możesz po prostu
Use url () function of Laravel Helpers
Ale w przypadku Laravel 5.2 będziesz musiał użyć url('/')
Tutaj znajduje się lista wszystkich innych funkcji pomocniczych Laravel
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-20 13:52:54
Aby uruchomić go z nie ładnymi URL - ami, musiałem to zrobić:
asset('/');
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-04 04:38:52
To:
echo url('/');
I to:
echo asset('/');
Oba wyświetlały domowy url w moim przypadku:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-11 02:07:59
Inna możliwość: {{ URL::route('index') }}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-30 17:50:58
Aby pobrać adres URL aplikacji, którą skonfigurowałeś, możesz użyć config:: get ('app.url')
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-01 00:12:59
Użyłem tego i zadziałało u mnie w Laravel 5.3.18:
<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>
Ważna uwaga: będzie to działać tylko wtedy, gdy już usunąłeś "publiczny" ze swojego adresu URL. Aby to zrobić, możesz sprawdzić ten pomocny samouczek .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-17 10:31:45
Możesz również użyć URL:: to ( ' / ' ), aby wyświetlić obraz w Laravel. Proszę zobaczyć poniżej:
<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100">
Załóżmy, że twój obraz jest przechowywany w "public / images".
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-11 09:17:19
Przy okazji, jeśli Twoja trasa ma nazwę jak:
Route::match(['get', 'post'], 'specialWay/edit', 'SpecialwayController@edit')->name('admin.spway.edit');
Możesz użyć route()
funkcji w następujący sposób:
<form method="post" action="{{route('admin.spway.edit')}}" class="form form-horizontal" id="form-spway-edit">
Inne przydatne funkcje:
$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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-27 09:34:57
Możesz użyć funkcji fasady lub pomocnika, jak poniżej.
echo URL::to('/');
echo url();
Laravel używając komponentu Symfony do żądania, logiki wewnętrznej Laravela zgodnie z podążam.
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;
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-03 10:52:53