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を生成。 |
【参考サイト】
コメントが承認されるまで時間がかかります。