経緯
ずっと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でメソッドを作成。
return view(‘viewのフォルダ名.表示させたいファイル名’);
リクエストの記述
PHPではグローバル変数の$_POSTでデータを受け取っていたが、Laravelでは第一引数にRequestクラスを設置する。
public function store(Request $request)
{
$your_name=$request->input('your_name');
}
View
ファイル名には必ず「***.blade.php」とつける。
actionやhrefの書き方
<a href="{{route('表示したいViewのフォルダ名/表示したいファイル名')}}"></a>
<form method="POST" action="{{route('コントローラー名.メソッド名')}}">
//laravelでformを動かす場合は@csrfを入れる
@csrf
</form>
Route
記述
Route::get('表示したいViewのフォルダ名/表示したいファイル名','コントローラー名@メソッド名');
グループ化
Route::group(['prefix'=>'表示したいViewのフォルダ名','middleware'=>'auth'],function(){
Route::get('***','コントローラー名@メソッド名')->name('表示したいViewのフォルダ名.表示したいファイル名');
});
ルート一覧書き出し
php artisan route:list > ファイル名.text
ファサード
get,select,where,groupbyなどSQLに近い構文。
DB::table(テーブル名)->get();
クエリビルダ
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と違ってわかりやすかったのでとりあえず困ったら公式でまず検索かけるのが良いと思いました。
あくまでメモなので随時追加していくと思います。