【Laravel】Laravel5.7のヘルパーを一気に勉強(15) – その他その2




Laravel5.7のその他に関するヘルパーその2です。

bcrypt()

Bcryptを使用したハッシュ値を生成します。

echo bcrypt('password');
// ハッシュ値を表示

blank()

指定した値がNULL、文字列の”または半角空白のみ、Countableインターフェースを実装したインスタンスの件数が0件の場合、trueとなります。
数値型やboolean型は常にfalseとなります。

echo blank(null);
// true
echo blank('');
// true
echo blank('      ');
// true
echo blank(collect());
// true
echo blank(1);
// false
echo blank(0);
// false
echo blank(true);
// false
echo blank(false);
// false

class_uses_recursive()

指定したクラスが利用しているトレイトリストを返します。

print_r(class_uses_recursive(\App\User::class));
/*
Array
(
    [Illuminate\Database\Eloquent\Concerns\HasAttributes] => Illuminate\Database\Eloquent\Concerns\HasAttributes
    [Illuminate\Database\Eloquent\Concerns\HasEvents] => Illuminate\Database\Eloquent\Concerns\HasEvents
    [Illuminate\Database\Eloquent\Concerns\HasGlobalScopes] => Illuminate\Database\Eloquent\Concerns\HasGlobalScopes
    [Illuminate\Database\Eloquent\Concerns\HasRelationships] => Illuminate\Database\Eloquent\Concerns\HasRelationships
    [Illuminate\Database\Eloquent\Concerns\HasTimestamps] => Illuminate\Database\Eloquent\Concerns\HasTimestamps
    [Illuminate\Database\Eloquent\Concerns\HidesAttributes] => Illuminate\Database\Eloquent\Concerns\HidesAttributes
    [Illuminate\Database\Eloquent\Concerns\GuardsAttributes] => Illuminate\Database\Eloquent\Concerns\GuardsAttributes
    [Illuminate\Support\Traits\ForwardsCalls] => Illuminate\Support\Traits\ForwardsCalls
    [Illuminate\Auth\Authenticatable] => Illuminate\Auth\Authenticatable
    [Illuminate\Foundation\Auth\Access\Authorizable] => Illuminate\Foundation\Auth\Access\Authorizable
    [Illuminate\Auth\Passwords\CanResetPassword] => Illuminate\Auth\Passwords\CanResetPassword
    [Illuminate\Auth\MustVerifyEmail] => Illuminate\Auth\MustVerifyEmail
    [Illuminate\Notifications\Notifiable] => Illuminate\Notifications\Notifiable
    [Illuminate\Notifications\HasDatabaseNotifications] => Illuminate\Notifications\HasDatabaseNotifications
    [Illuminate\Notifications\RoutesNotifications] => Illuminate\Notifications\RoutesNotifications
)
*/

collect()

指定した値からコレクションインスタンスを生成します。

print_r(collect(['aaaa', 'bbbb']));
/*
Illuminate\Support\Collection Object
(
    [items:protected] => Array
        (
            [0] => aaaa
            [1] => bbbb
        )
)
*/

config()

指定した設定値を取得します。
第2引数を指定すると設定値が存在しなかった場合のデフォルト値を返します。

echo config('app.locale', 'default_value').PHP_EOL;
// en
echo config('app.locale_test', 'default_value').PHP_EOL;
// default_value