0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【メモ】Laravel 初心者まとめ

Last updated at Posted at 2023-12-01

LaravelAPIメモ

概要

  • LaravelのAPIを作成する際に、考えたことや学んだことなどを簡単にまとめる
  • 覚書程度であるため、詳細を見たい場合は参考のサイトなどに飛ぶこと

Laravel関係 コマンド

コマンド
# Laravelプロジェクトの作成
# フォルダ名を[.]にすることで、カレントディレクトリに作成が可能
# 用例:composer create-project laravel/laravel laravel-api-create-test
composer create-project laravel/laravel フォルダ名

# サーバーの起動
php artisan serve

# portオプション
php artisan serve --port = 8080

minatomi. 1週間で基礎から学ぶLaravel入門 (p.21). minatomi. Kindle 版. 
# app/Models配下にファイルを作成
# -mでマイグレーションファイルも同時に作成
# 用例:php artisan make:model Student -m
php artisan make:model ファイル名 -m

# app/Http/Controllers配下に、新しくコントローラーファイルを作成
# 用例php artisan make:controller ApiProductController
php artisan make:controller ファイル名

# make:controller optionあり
# モデルと関連付けて作成することが可能
# 用例:php artisan make:controller ApiProductController --model=Product
--model=モデル名

# request配下にrequestファイルを作成
# 用例php artisan make:request StoreProductRequest
php artisan make:request ファイル名

# app/Rules配下に、ruleに関するファイルを作成
# 用例:php artisan make:rule AllowedFields
php artisan make:rule ファイル名
# テーブルの作成
php artisan migrate

# データベースに初期データを追加するファイルを作成
# 詳細については、Laraverl seedで検索
php artisan make: seeder ファイル名

# seedファイルの実行コマンド
php artisan db: seed

# routeingを確認
php artisan route: list

参考サイト

Laravel API 記法

api.php
<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Symfony\Component\HttpFoundation\Response;
use App\Http\Controllers\ApiCardFormatController;

// 認証をつける場合は、ミドルウェア
// 未だ理解しきれていないため、今後まとめる
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});

// 直接ルートに関数を記述することで、レスポンスを行う
// JavaScriptのコールバック関数に類似
// Node.js Express.jsの記法に大分近い
Route::get(
    'hello',
    function (Request $request) {
        return response()->json(['message' => 'Hello World!'],Response::HTTP_OK);
    }
);
// 別ファイルで定義したルートを使用する場合
// useで宣言したのちに、使用したい関数を指定することで使用可能
// 可読性が上がるため、基本はこちらを利用するはず
Route::post('card/format/create', [ApiCardFormatController::class, 'index']);

// APIエンドポイントにおいて、すべてのエンドポイントに合致しなかった場合に処理を行う関数
// 404を返す
Route::fallback(function () {
    return response()->json(['message' => 'Not Found'], Response::HTTP_NOT_FOUND);
});

Response::HTTP_NOT_FOUNDのようにResponseクラスに定数で、ステータスコードがあるため直感的に理解ができてよい。

テーブル操作

// Hogeテーブルに入っているレコードをすべて取得する
hoge = Hoge:: all();

LaravelのStd.out的なもの

dd($ 変数);

用語

マイグレーションファイル

  • データベース操作をまとめるファイル
  • テーブルごとに設定を行うためのファイル
  • マイグレーションファイルを実行することで、テーブル操作を行う。

まとめ

今後も追記していく

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?