前回laravelで簡単なサービス作ったけど公開できなかったという話をしました。
その際便利さに驚嘆したという話もしましたが、何がそんなに便利なのかということを紹介します。
例えば認証機能だと
php artisan make:auth
たったこれだけでログイン機能ができます。あとはそのプロジェクトに合った内容に微調整するだけです。
※laravel5系の時。現在はlaravel8がありコマンドは多少異なります。
ルーティングとはこのURLにアクセスしたときにこのページを表示させるといったようにURLとページを紐づけることです。
Route::get('/', 'ArticleController@index');
こんな感じに書くとドメイン名/にアクセスしたときArticleControllerのindexアクションを返してくれます。
更に
Route::get('/', 'ArticleController@index')->name('article.index'));
のように書くとaタグのhrefに以下のように書けます。
<a href="{{route('article.index')}}">記事一覧</a>
これの何がいいかというともしアクセスするURLを/article_listのように変更してもaタグを編集する必要がなくなります。
LaravelのORM(Object Relational Mapping)です。
データベースとモデルのやり取りをよしなにしてくれます。
articleテーブルのデータを全件取得したいときは
$articles = Article::all();
これで取得できます。データの保存、更新、削除も同じような感じでとっても見やすいです。
PDOの設定書いて接続してSQL書いてとめんどくさいことしなくてもOKです。
紹介したもの以外にもミドルウェアでログインしているユーザー以外はアクセスできないようにしたり、Requestでデータをバリデーションすることができます。
今回Laravelを紹介しましたが、CakePHPやSymfonyにも同じような機能はあるのでフレームワークをひとつ覚えるとそこまで苦労せずにほかのものも使えるのではと思います。