Laravelのヘルパー関数の中から、パスとURLを使ってみます。
サンプルコード
まずはヘルパー関数のパス関連を使ってみます。
app\Http\routes.php
Route::get('/path', function () { return view('path.index'); });
resources\views\hoge\index.blade.php
<ul> <li>{!! app_path() !!}</li> <li>{!! base_path() !!}</li> <li>{!! base_path('vendor/bin') !!}</li> <li>{!! config_path() !!}</li> <li>{!! database_path() !!}</li> <li>{!! public_path() !!}</li> <li>{!! resource_path() !!}</li> <li>{!! storage_path() !!}</li> </ul>
以下のような形で出力されました。
http://localhost:8000/path
C:\xxxxx\projectName\app C:\xxxxx\projectName C:\xxxxx\projectName\vendor/bin C:\xxxxx\projectName\config C:\xxxxx\projectName\database C:\xxxxx\projectName\public C:\xxxxx\projectName\resources C:\xxxxx\projectName\storage
app_path() | appディレクトリへのパスを取得。 |
---|---|
base_path() | プロジェクトルートのパスを取得。 |
config_path() | configディレクトリへのパスを取得。 |
database_path() | databaseディレクトリへのパスを取得。 |
public_path() | publicディレクトリへのパスを取得。 |
resource_path() | resourcesディレクトリへのパスを取得。 |
storage_path() | storageディレクトリへのパスを取得。 |
次に先ほどのページにヘルパー関数のURL関連を表示させてみます。
PHP
引数にコントローラーを指定するメソッドがあるので、ダミーとしてHogeControllerを追加します。
Route::get('/path', function () { return view('path.index'); }); Route::get('/hoge', ['as' => 'hoge', 'uses' => 'HogeController@getIndex']);
追加したHogeControllerの中身です。
app\Http\Controllers\HogeController.php
<?php namespace App\Http\Controllers; class HogeController extends Controller { public function getIndex() { return view('hoge.index'); } }
PHP
<ul> <li>{!! action('HogeController@getIndex') !!}</li> <li>{!! action('HogeController@getIndex', ['id' => 1]) !!}</li> <li>{!! asset('img/photo.jpg') !!}</li> <li>{!! secure_asset('foo/bar.zip') !!}</li> <li>{!! route('hoge') !!}</li> <li>{!! url('/path') !!}</li> </ul>
以下のような形で出力されました。
http://localhost:8000/path
http://localhost:8000/hoge http://localhost:8000/hoge?id=1 http://localhost:8000/img/photo.jpg https://localhost:8000/foo/bar.zip http://localhost:8000/hoge http://localhost:8000/path
action(‘controller@action’) | 指定したコントローラとアクションからURLを生成。 |
---|---|
asset(‘path’) | 現在のリクエストのスキーマ(HTTPかHTTPS)を使って、引数のパスへのURLを生成。 |
secure_asset(‘path’) | HTTPSを使い、引数のパスへのURLを生成。 |
route(‘routeName’) | 指定された名前付きルートへのURLを生成。 |
url(‘path’) | 指定されたパスへのURLを生成。 |
【参考サイト】
コメントが承認されるまで時間がかかります。