Laravelとは?
2012年に登場したPHPで最も人気のWebアプリケーションフレームワークです。同じくPHPで人気フレームワークである「Symfony」を土台に作成されており非常に堅牢です。
Laravelの特徴
- 他のフレームワークに比べて学習コストが低い
- コードの記述量が少ない。
- 簡単に入力チェックを記述できる。
- ユーザー登録や認証等のログイン認証がデフォルトで用意されている。
- ページネーションが簡単に実装できる。
- 本番環境へのアップロードが簡単
- Laravelのパッケージ管理は全て「Composer」で行う。
- ORMに「Blade」というテンプレートエンジンを使用しています。
Larabel、PHPバージョン対比表
リリース日 | Laravel | PHP | 概要 |
---|---|---|---|
2011年 | 1.0 | ||
2017年1月 | 5.4 | 5.6.4以上 | |
2017年8月 | 5.5 | 7.0以上 | |
5.6 | 7.1以上 | ||
2019年9月 | 6.0 | 7.2以上 | |
2020年3月 | 7.0 | ||
2020年9月 | 8.0 | Bootstrapからtailwindcssが標準になった。 | |
2022年2月 | 9.0 | 8.0以上、8.1以上が推奨 | 1年半ぶりにメジャーバージョンアップした。 |
laravelの導入
前提としてcomposerというソフトが入っている必要があります。
1 |
composer global require "laravel/installer" |
下記コマンドでlaravelのプロジェクトを作成します。
1 |
composer create-project laravel/laravel プロジェクト名(sampleapp等) バージョン(5.5等).* --prefer-dist |
最初に呼び出されるページ(エントリポイント)
1 |
public/index.php |
autoloadやフレームワークの起動が行われたりしています。
DI(依存性の注入)
Laravelの中でよく使われている機能です。「クラスの外でインスタンスを生成してそれを入れる」という意味になります。具体的にはLaravelでお問い合わせフォームを実装する際に使用することになります。
DIのメリット
クラス同士を疎結合にする事でクラスの関係を扱いやすくする事が可能です。
DIコンテナ(サービスコンテナ)
DIをまとめる事で扱いやすくしています。
ヘルパー関数とは?
Laravelフレームワークで用意されているPHPネイティブ関数とは別の関数になります。
asset
CSSやJavaScriptを読み込む関数です。第二引数にtrueを渡すとhttps対応できます。
view
bladeファイルを表示するための関数です。
route
auth
認証のコードを使うときによく使います。
app
bcrypt
暗号化のために使います。
collect
コレクション型を使う際に使います。
factory
ダミーデータを作るときに使います。
old
config
コンフィグファイル(config/)から特定の値を取得します。
デバッグ方法
laravelでデバッグするには下記の方法があります。
- デバッグバー
- dd
「デバッグバー」を使う
インストール
laravelのデバッグバーのインストールは下記コマンドで実行します。
1 |
composer require barryvdh/laravel-debugbar |
インストールの確認
1 |
php artisan serve |
設定
.env
本番環境でデバッグバーが見えてしまうとDBの中身も見えたりしてまずいので.envを設定します。APP_DEBUGの設定をfalseにすればデバッグバーが出ない設定になります。
1 |
APP_DEBUG=false |
それでもキャッシュでデバッグバーが見えてしまう可能性があるので下記コマンドを実行してキャッシュやコンフィグをクリアしましょう。
1 2 |
php artisan cache:clear php artisan config:clear |
ddを使う
ブラウザ上で変数の中身を詳細に確認する事が可能です。
1 |
dd($変数名); |
エラーメッセージの日本語化
Laravelでエラーメッセージを管理しているファイルは下記のディレクトリになります。デフォルトでは英語になっています。
1 |
resources/lang/en |
GitHubの下記URLからファイルをダウンロードします。
https://github.com/minoryorg/laravel-resources-lang-ja
下記のディレクトリに配置します。
1 |
resources/lang/ja |
実際に日本語化するかどうかは下記のファイルのロケールで設定します。
1 |
config/app.php |
下記のように設定すればエラーメッセージは日本語化されます。
1 |
'locale' => 'ja', |
バリデーション等のメッセージの中の個々の属性等が一部まだ英語表記されている(対応する日本語がない)ので下記のように補完してあげれば完全にメッセージを日本語化する事が可能です。
1 2 3 |
'attributes' => [ ’password’ =>'パスワード', ], |
この記事へのコメントはありません。