回答:
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">
、ありがとう!
Laravel <5.2
echo url();
Laravel> = 5.2
echo url('/');
これがあなたを助けることを願っています
url('/')
ただし、代わりに使用できます
asset('/')
base 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
2018年のLaravelリリース(5.7)のドキュメントから更新され、いくつかのurl()関数とその使用法が追加されました。
質問:LaravelでサイトのURLを取得するには?
これは一種の一般的な質問なので、分割することができます。
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') }}">
それをかなりのURLで機能させるために、私はしなければなりませんでした:
asset('/');
<base href="{{ asset('/') }}" />
<base href="..."/>
末尾にスラッシュがあるため、ぴったり収まります
Laravelは多数のヘルパー関数を提供し、要件に応じて簡単に行うことができます
Laravelヘルパーのurl()関数を使用
Laravel 5.2の場合は、url( '/')を使用する必要があります
ここにLaravelの他のすべてのヘルパー関数のリストがあります
url('/css/style.css')
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') ?>
重要な注意:これは、URLから「public」をすでに削除している場合にのみ機能します。これを行うには、この役立つチュートリアルをチェックしてください。
ちなみに、ルートに次のような名前がある場合:
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();
リクエストにSymfonyコンポーネントを使用するLaravel、以下の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;
}
環境変数APP_URLの値を表示するためのベースURLを取得する別の方法を見つけました
env('APP_URL')
http:// domains_your // yours_websiteのようなベースURLが表示されます。.envファイル(ルートフォルダーにある)に環境変数を設定したと想定していることに注意してください。
/something/
ている場合は正しいURLを作成します。