Yanıtlar:
Sen hiç yapmanız aramaları olanak tanıyan URL cephe kullanabilirsiniz URL jeneratör
Böylece şunları yapabilirsiniz:
URL::to('/');
Uygulama kapsayıcısını da kullanabilirsiniz:
$app->make('url')->to('/');
$app['url']->to('/');
App::make('url')->to('/');
Veya UrlGenerator'ı enjekte edin:
<?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')}}
, görüşte ve echo URL::to('/my-page.html');
kodda
<a class="button is-primary" href="<?= URL::to('/'); ?>/atencion/reporte" target="_blank">
teşekkürler!
Laravel <5.2
echo url();
Laravel> = 5.2
echo url('/');
Umarım bu sana yardımcı olur
url('/')
Bununla birlikte kullanabilirsiniz
asset('/')
bana göre daha iyi görünüyor çünkü taban href'de gerekli olan sondaki eğik çizgi var.
Laravel 5 için normalde şunu kullanıyorum:
<a href="{{ url('/path/uri') }}">Link Text</a>
Ben kullanarak o anlayış olduğum url()
işlevi aynı çağırıyor Facade
olarakURL::to()
secure_url()
işlevi aynı şekilde kullanabilirsiniz ve bu bir https bağlantısı oluşturur. url()
Bir https sitesinde kullanmak yine de bir http bağlantısı oluşturur.
url()
isteğin protokolüne dayanan bir http veya https bağlantı oluşturur. Öte yandan secure_url()
mevcut değil. Bu Laravel 5.4'te de değişti mi?
secure_url()
burada yorum yapamam çünkü gerçekten yorum yapamam : laravel.com/docs/5.4/helpers#method-secure-url
2018 Laravel sürümünün (5.7) belgelerinden bazı daha fazla url () işlevleriyle güncellemeler ve kullanımı.
Soru: Sitenin URL'sini Laravel'de almak için?
Bu biraz genel bir soru, bu yüzden onu bölebiliriz.
1. Temel URL'ye Erişim
// Get the base URL.
echo url('');
// Get the app URL from configuration which we set in .env file.
echo config('app.url');
2. Mevcut URL'ye Erişim
// 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. Adlandırılmış Rotalar İçin URL'ler
// http://example.com/home
echo route('home');
4. Varlıklara Yönelik URL'ler (Genel)
// Get the URL to the assets, mostly the base url itself.
echo asset('');
5. Dosya URL'leri
use Illuminate\Support\Facades\Storage;
$url = Storage::url('file.jpg'); // stored in /storage/app/public
echo url($url);
Bu yöntemlerin her birine URL cephesinden de erişilebilir:
use Illuminate\Support\Facades\URL;
echo URL::to(''); // Base URL
echo URL::current(); // Current URL
Bu Yardımcı işlevler kullanımla blade Şablonu'ndan (Görünümler) nasıl çağrılır.
// 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') }}">
Güzel olmayan URL'lerle çalışmasını sağlamak için yapmam gerekiyordu:
asset('/');
<base href="{{ asset('/') }}" />
<base href="..."/>
Sondaki eğik çizgi nedeniyle tam olarak uyuyor
Laravel birçok yardımcı işlev sunar ve gereksiniminiz için
Laravel Helpers'ın url () işlevini kullanma
ancak söz konusu laravel 5.2 Kullanmak zorunda kalacak url ( '/')
Burada laravel diğer tüm yardımcı işlevlerini listesidir
url('/css/style.css')
Bir başka olasılık: {{ URL::route('index') }}
Laravel'de resmi görüntülemek için URL :: to ('/') öğesini de kullanabilirsiniz. Lütfen aşağıya bakın:
<img src="{{URL::to('/')}}/images/{{ $post->image }}" height="100" weight="100">
Resminizin "genel / resimler" altında depolandığını varsayın.
Yalnızca yapılandırdığınız uygulama URL'sini almak için şunları kullanabilirsiniz:
Config::get('app.url')
app.url
bir yedek gibi görünüyor
Bunu kullandım ve Laravel 5.3.18'de benim için çalıştı:
<?php echo URL::to('resources/assets/css/yourcssfile.css') ?>
ÖNEMLİ NOT: Bu yalnızca URL'nizden "herkese açık" olanı kaldırdığınızda çalışır. Bunu yapmak için, bu yararlı eğiticiye göz atabilirsiniz .
Bu arada, rotanızın aşağıdaki gibi bir adı varsa:
Route::match(['get', 'post'], 'specialWay/edit', 'SpecialwayController@edit')->name('admin.spway.edit');
Bu route()
işlevi aşağıdaki gibi kullanabilirsiniz :
<form method="post" action="{{route('admin.spway.edit')}}" class="form form-horizontal" id="form-spway-edit">
Diğer faydalı fonksiyonlar:
$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
Cepheleri veya yardımcı işlevi aşağıdaki gibi kullanabilirsiniz.
echo URL::to('/');
echo url();
Laravel Symfony Bileşenini Talep için kullanarak, Laravel dahili mantığı aşağıdaki gibi.
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;
}
Ben sadece APP_URL ortam değişkeninin değerini görüntülemek için temel url almak için başka bir yol buldum
env('APP_URL')
http: // domains_your // yours_website gibi temel URL'yi görüntüler . dikkat edin .env dosyasında (kök klasöründe bulunan) ortam değişkenini ayarladığınızı varsayar.
Ayrıca base_path () işlevi kullanılır ve çalıştı
/something/
doğru URL'yi yapar.