【Laravel】Laravel5.7のヘルパーを一気に勉強(6) – パス




この記事は最終更新日から2年以上経過しています。

app_path()

appディレクトリの絶対パスを返します。
この場合、末尾にスラッシュは付与されません。
パラメーターを指定するとappディレクトリの絶対パスに続いて指定した文字列をつなげたパスを返します。
パラメーター先頭にスラッシュは不要です。

echo app_path() . PHP_EOL;
// /var/www/html/app
echo app_path('Http/Controllers/Controller.php') . PHP_EOL;
// /var/www/html/app/Http/Controllers/Controller.php
echo app_path('/Http/Controllers/Controller.php') . PHP_EOL;
// /var/www/html/app//Http/Controllers/Controller.php
echo app_path('/') . PHP_EOL;
// /var/www/html/app//
echo app_path('') . PHP_EOL;
// /var/www/html/app

base_path()

Laravelをインストールしたプロジェクトのルートディレクトリの絶対パスを返します。
この場合、末尾にスラッシュは付与されません。
パラメーターを指定するとLaravelをインストールしたプロジェクトルートディレクトリの絶対パスに続いて指定した文字列をつなげたパスを返します。
パラメーター先頭にスラッシュは不要です。

echo base_path() . PHP_EOL;
// /var/www/html
echo base_path('vendor/bin/phpunit') . PHP_EOL;
// /var/www/html/vendor/bin/phpunit
echo base_path('/vendor/bin/phpunit') . PHP_EOL;
// /var/www/html//vendor/bin/phpunit
echo base_path('/') . PHP_EOL;
// /var/www/html//
echo base_path('') . PHP_EOL;
// /var/www/html

config_path()

configディレクトリの絶対パスを返します。
この場合、末尾にスラッシュは付与されません。
パラメーターを指定するとconfigディレクトリの絶対パスに続いて指定した文字列をつなげたパスを返します。
パラメーター先頭にスラッシュは不要です。

echo config_path() . PHP_EOL;
// /var/www/html/config
echo config_path('const.php') . PHP_EOL;
// /var/www/html/config/const.php
echo config_path('/const.php') . PHP_EOL;
// /var/www/html/config//const.php
echo config_path('/') . PHP_EOL;
// /var/www/html/config//
echo config_path('') . PHP_EOL;
// /var/www/html/config

database_path()

databaseディレクトリの絶対パスを返します。
この場合、末尾にスラッシュは付与されません。
パラメーターを指定するとdatabaseディレクトリの絶対パスに続いて指定した文字列をつなげたパスを返します。
パラメーター先頭にスラッシュは不要です。

echo database_path() . PHP_EOL;
// /var/www/html/database
echo database_path('seeds/') . PHP_EOL;
// /var/www/html/database/seeds/
echo database_path('/seeds/') . PHP_EOL;
// /var/www/html/database//seeds/
echo database_path('/') . PHP_EOL;
// /var/www/html/database//
echo database_path('') . PHP_EOL;
// /var/www/html/database

mix()

指定したパスのMixファイルを返します。
存在しないファイルを指定するとエラーになります。

echo mix('css/app.css') . PHP_EOL;
// /css/app.css?id=36750ffd35d3e88a5b46
echo mix('/css/app.css') . PHP_EOL;
// /css/app.css?id=36750ffd35d3e88a5b46
echo mix('/') . PHP_EOL;
// エラー
echo mix('') . PHP_EOL;
// エラー
echo mix('css/zzz.css') . PHP_EOL;
// エラー

public_path()

publicディレクトリの絶対パスを返します。
この場合、末尾にスラッシュは付与されません。
パラメーターを指定するとpublicディレクトリの絶対パスに続いて指定した文字列をつなげたパスを返します。
パラメーター先頭にスラッシュは不要です。

echo public_path() . PHP_EOL;
// /var/www/html/public
echo public_path('css/app.css') . PHP_EOL;
// /var/www/html/public/css/app.css
echo public_path('/css/app.css') . PHP_EOL;
// /var/www/html/public/css/app.css
echo public_path('/') . PHP_EOL;
// /var/www/html/public/
echo public_path('') . PHP_EOL;
// /var/www/html/public

resource_path()

resourcesディレクトリの絶対パスを返します。
この場合、末尾にスラッシュは付与されません。
パラメーターを指定するとresourcesディレクトリの絶対パスに続いて指定した文字列をつなげたパスを返します。
パラメーター先頭にスラッシュは不要です。

echo resource_path() . PHP_EOL;
// /var/www/html/resources
echo resource_path('lang/en/validation.php') . PHP_EOL;
// /var/www/html/resources/lang/en/validation.php
echo resource_path('/lang/en/validation.php') . PHP_EOL;
// /var/www/html/resources//lang/en/validation.php
echo resource_path('/') . PHP_EOL;
// /var/www/html/resources//
echo resource_path('') . PHP_EOL;
// /var/www/html/resources

storage_path()

storageディレクトリの絶対パスを返します。
この場合、末尾にスラッシュは付与されません。
パラメーターを指定するとstorageディレクトリの絶対パスに続いて指定した文字列をつなげたパスを返します。
パラメーター先頭にスラッシュは不要です。

echo storage_path() . PHP_EOL;
// /var/www/html/storage
echo storage_path('logs/') . PHP_EOL;
// /var/www/html/storage/logs/
echo storage_path('/logs/') . PHP_EOL;
// /var/www/html/storage//logs/
echo storage_path('/') . PHP_EOL;
// /var/www/html/storage//
echo storage_path('') . PHP_EOL;
// /var/www/html/storage