Laravel学習帳

Laravel5.2の学習帳です。開発環境はXAMPP for Windows 5.6.19 / 本番環境はさくらサーバー(スタンダード)

基礎知識

ヘルパー関数について

2017/06/02

mainvisual

Laravelのヘルパー関数についてまとめました。

個人的によく使うヘルパーを載せています。

 

env()について

Laravelの設定ファイル (config/app.php) やデータベースの設定ファイル (config/database.php) などで使われています。

:
  'mysql' => [
  'driver' => 'mysql',
  'host' => env('DB_HOST', 'localhost'),
  'port' => env('DB_PORT', '3306'),
  'database' => env('DB_DATABASE', 'forge'),
  'username' => env('DB_USERNAME', 'forge'),
  'password' => env('DB_PASSWORD', ''),
  'charset' => 'utf8',
  'collation' => 'utf8_unicode_ci',
  'prefix' => '',
  'strict' => false,
  'engine' => null,
  ],
:

env関数の第一引数に指定している値がなければ第二引数を読み込みます。

第一引数に指定している変数は .envファイルで指定します。

.envファイルはLaravelプロジェクトの最上下位にあります。

img01

「データベース名」「MySQLのユーザ名」「MySQLのパスワード」を設定する場合は以下のような感じで記述します。

DB_DATABASE=my_laravel
DB_USERNAME=laravel_user
DB_PASSWORD=PaSSword

 

old()について

old 関数はセッションにフラッシュデーターとして保存されている直前の入力値を取得します。

例えば、フォームでバリデーションエラーになった場合、入力したデータを残すときに使います。

<input type="text" name="name" value="{{ old('name') }}" id="name" class="form-control" placeholder="名前を文字を入力してください" autofocus>

 

編集画面のときは第二引数にデータベースで取得したデータを表示します。

<input type="text" name="name" value="{{ old('name', $data->name) }}" id="name" class="form-control" placeholder="名前を文字を入力してください" autofocus>

 

url()について

url関数は指定されたパスへの完全なURLを生成します。

<form class="form-horizontal" role="form" method="post" action="{{ url('/users') }}">

 
パラメータをつける場合は第二引数に値をいれます。

<form class="form-horizontal" role="form" method="post" action="{{url('/users',$data->id)}}">

 

e()について

HTMLエンティティ―(※ブラウザがHTMLとして処理せずにそのまま出力させるための代替コード)の実行

echo e('<strong>laravel</strong>');
//出力結果 ⇒ &lt;strong&gt;laravel&lt;/strong&gt;

 

view()について

ビューファイルを表示するときに使います。

  // 新規作成 画面
  public function create()
  {
    return view('users.create');
  }

上の例だと resources/views/users/create.blade.php が呼び出されます。

ビューファイルにディレクトリも指定する場合は /(スラッシュ) ではなく .(ドット) を記述します。

 

with()について

ビューファイルに変数を持っていくときに使います。

  // 新規作成 画面
  public function create()
  {
    return view('users.create')->with('message','登録するユーザーを入力してください。');
  }

 

  <p>{{$message}}</p>

 

上記を実行すると以下のようにレンダリングされます。

  <p>登録するユーザーを入力してください。</p>

 

フォームタグの生成

HTMLのフォームタグをPHPで生成することができます。

ただ、個人的にはHTML系のヘルパーはあまり意味を感じません。

 

formの開始タグを生成

{!! Form::open() !!}

 

formの終了タグを生成

{!! Form::close() !!}

 

labelタグを生成

{!! Form::label('title', 'Title:') !!}

 

input [type=text] タグを生成

{!! Form::text('title', null, ['class' => 'form-control']) !!}

 

input [type=submit] タグを生成

{!! Form::submit('Add Article', ['class' => 'btn btn-primary form-control']) !!}

Laravel5.2 におけるヘルパーは以上です。

 

-基礎知識