LoginSignup
2
2

More than 3 years have passed since last update.

【Laravel】Laravelメモ

Last updated at Posted at 2020-06-18

経緯

ずっとRailsをしてたのですが、ありがたいことにPHPメインの自社開発企業に就職できたので現在PHPを勉強しています。

ただMVCの仕組みだったりあんなにRailsで頑張って覚えたのに、私の記憶が頼りないせいで忘れてしまいそうなので、考えが似た感じのPHPフレームワークLaravelで定着させようと思い勉強し始めました。

まだめっちゃ基礎の段階ですが、とりあえず復習のために色々メモします。

Laravel

PHPのフレームワーク。
多分今PHPのフレームワーク=Laravelみたいになってる。

まだ初歩なので何とも言えませんが、今のところRailsと似てるので割と理解しやすい印象です。

デバックツール

composer require barryvdh/laravel-debugbar

artisan

Railsコマンド的なやつ。
Serverディレクトリで実行します。

php artisan ~~~

Model

Model名は単数形。

作成

php artisan make:model Models/name

マイグレーションファイルとコントローラーも同時に作成する場合

php artisan make:model Models/name -mc

マイグレーションファイルだけ一緒に作りたい場合

php artisan make:model Models/name -m

Migration

テーブル作成の履歴的な。
Migration名は複数形。

作成

php artisan make:migration create_names_table

Databaseフォルダに作成される。
カラム追加は公式参照。
https://readouble.com/laravel/5.5/ja/migrations.html
追加したらMigrateする。

php artisan migrate

カラムを追加したいとき

php artisan make:migration add_カラム名_to_カラムを追加したいテーブル名_table —table=カラムを追加したいテーブル名->after('後ろに挿入したい既存カラム名');

Controller

いろんな処理するところ。

作成

php artisan make:controller *****Controller

よく使う機能を最初から付けれる。

php artisan make:controller *****Controller --resource

記述

class内にpublicでメソッドを作成。

***Controller.php
return view(viewのフォルダ名.表示させたいファイル名);

リクエストの記述

PHPではグローバル変数の$_POSTでデータを受け取っていたが、Laravelでは第一引数にRequestクラスを設置する。

***Controller.php
public function store(Request $request)
    {
        $your_name=$request->input('your_name');
    }

View

ファイル名には必ず「***.blade.php」とつける。

actionやhrefの書き方

***.blade.php
<a href="{{route('表示したいViewのフォルダ名/表示したいファイル名')}}"></a>
***.blade.php
<form method="POST" action="{{route('コントローラー名.メソッド名')}}">
    //laravelでformを動かす場合は@csrfを入れる
    @csrf
</form>

Route

記述

web.php
Route::get('表示したいViewのフォルダ名/表示したいファイル名','コントローラー名@メソッド名');

グループ化

web.php
Route::group(['prefix'=>'表示したいViewのフォルダ名','middleware'=>'auth'],function(){
    Route::get('***','コントローラー名@メソッド名')->name('表示したいViewのフォルダ名.表示したいファイル名');
});

ルート一覧書き出し

php artisan route:list > ファイル名.text

ファサード

get,select,where,groupbyなどSQLに近い構文。

***Controller.php
DB::table(テーブル名)->get();

クエリビルダ

***Controller.php
use Illuminate\Support\Facades\DB; //Controllerに貼り付け

Laravel UI

jsやsassを入れる。
ログイン・新規登録機能などをつける。

【参考】
https://www.techpit.jp/courses/laravel6-aws/lectures/13324326

メッセージの日本語化

下記ファイルをlangフォルダにコピー。
https://github.com/minoryorg/laravel-resources-lang-ja

config/app.phpのlocationがjaになってるか確認。

まとめ

公式見るのがぶっちゃけ一番早い。
Railsと違ってわかりやすかったのでとりあえず困ったら公式でまず検索かけるのが良いと思いました。

あくまでメモなので随時追加していくと思います。

【公式】
https://readouble.com/laravel/7.x/ja/releases.html

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2