タグ: Laravel

PHP

Laravel トランザクション リトライ設定 DB:Transaction()

    この記事で紹介すること try catchを利用する リトライ回数を指定 失敗時にロールバックしてログ出力   ざっくりこう try { $retries = (int)3; // トランザクションリトライ回数 DB::beginTransaction(null, $retries); // データベースの一連の処理 DB::commit(); $message = C …

PHP

Laravel 中間テーブルを利用した多対多のリレーション

2千分後の私へ。   ポイント   App/Http/Models/Job.php <?php namespace App\Http\Models; use App\User; use Illuminate\Database\Eloquent\Model; class Job extends Model { public function users() { return …

PHP

Laravel6 JWT ユーザ登録+メール認証 + jwt-auth(JWT)

  この記事では実践的なコードであっさりまとめます。   JWT関連のJSONなどの細かいのは下記記事でまとめています。 Laravel JWTで認証API メール認証   Gmailの利用 開発用のメールサーバとして、Gmailサーバを送信サーバとして利用します。 // 本番環境はAWS SES, SendGridあたりを利用するのがおすすめです。   G …

PHP

jwt-auth + Laravel6 アクセストークンとリフレッシュトークン

  備考 Laravel6ではjwt-auth1以上が必要。 https://jwt-auth.readthedocs.io/en/develop/laravel-installation/ /logoutは作らない。 アプリ側でtokenを決して貰うので 当記事の設定を推奨しているわけではないです。 ・jwt-authのブラックリスト機能をfalseにしています。   設定例 …

セキュリティ

【工事中】Laravel ログインロック機能

      @see Laravelの認証機能をログイン失敗回数によってロックしログイン制限を掛ける ユーザー認証(6)ログインスロットル Laravel5.4、ログイン時の認証情報の追加方法 【Laravel】ログイン失敗時、アカウントロックの代わりに何か別の処理をする How to clear Login Attempts in Laravel?   Amazon …

RDB, SEノウハウ

DB, API設計でのINT型

  DB, API設計でのINT型留意点 データベース設計の正規化ではnullは不許可 WorkBenchのフラグ欄を真偽値型のBoolean(TINYINT)を選択する Swagger Editor ・真偽値はtypeをbooleanにする ・21億4,000万 ・超える可能性がある →BIGINT ・超えない → INT32 自動採番の主キーはBIGINT(INT64)にしています。 …

PHP

Laravel5 PHP-JWT Firebase製のJWTライブラリで認証

Firebase謹製のPHP-JWTライブラリを利用した案件が多いからまとめる。 JWTライブラリにも色々種類があるのだ。 https://github.com/firebase/php-jwt(外部サイト) PHP-JWTでJWTのエンコード/デコードをする(外部サイト)   payload @see Wikipedia コード 名称 説明 iss issuer トークンの発行者 su …

PHP

Laravel PHPUnit テストの中でseederを利用する

/onis/ https://localhost/api/v1.3/onis {“onis” { “id” : 1, “name”: “muzansama”, “kekkijutu”: “tousou” }, { “id” : 2, “name”: “yushirou”, “kekkijutu”: “hacking” } }   /onis/{oni_id} https://localh …

Linux

Laravel APIバージョニング切り替え

      @see php – Laravel RESTful APIのバージョン管理の設計         Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

PHP

Laravel enum型、外部制約があるマイグレーション

  enum型対策   public function __construct() { DB::getDoctrineSchemaManager()->getDatabasePlatform()->registerDoctrineTypeMapping(‘enum’, ‘string’); }   外部キー制約対策 //外部キー制約を一旦無効化 Schema::di …

API

ポケモンで学ぶSwagger(OpenAPI)

  Swagger Editor   openapi3系で書きます   バージョン違うとエラーが出ます。 最新で頑張るのだ!(。- .•)   Swagger EditorでDeleteを定義したけれど、delete_flg, invalid_flgといった論理削除や論理無効化で処理することが多いっぽい。だから実践ではDeleteメソッドは利用せず、PUTメ …