カテゴリー: PHP

PHP

PHP 文字列を空白や改行で区切ってLike検索 preg_replace()

  「鈴木 太郎」といった苗字と名前で2回LIKE検索かけたい場合があります。     preg_split()を利用しよう preg_split() preg_split({正規表現}, {文字列}, {最大分割数}, {オプション});   実装例 // あらゆる空白で分割 ex. [“鈴木”, “太郎”] <= “鈴木 太郎” $user_names = …

PHP

Laravel try catchとtransactionの位置 リポジトリパターン

    try catchとtransactionの位置 どこに記述したら良いのか? tryの直前でtransaction()開始 tryの中でcommit() catchの中でrollback()     実装例   <?php namespace App\Services\Master; use App\Repositories\Shop …

PHP

Laravel S3へのPDFファイルアップロード, ダウンロード

  S3の利用では、Laravel標準ファイルシステムライブラリを利用するのが良いでしょう🐱   関連 Laravel 汎用 S3へのファイル一時アップロード、本アップロード処理     アップロードの例   $s3_path = Storage::disk(‘コンフィグに指定したクレデンシャル名’)->putFileAs($path, $pdf, $ …

PHP, セキュリティ

Laravel6のbcrypt関数について

Laravel6.xのデフォルトのbcryptについて ハッシュドライバー:bcrypt saltの形式:$2y$ ハッシュ関数の適用回数:10回   random saltによって同じ値のInputでも毎回DBに登録されるハッシュ値は変わる   $2y$10$xxxxxxxxxx … $2y$10$yyyyyyyyyy …   最初の共通部分について $2y:Salt …

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にしています。   設定例 …

PHP, SEノウハウ

インターン向け PHP教材

  インターン向けの教材はないか?ということでおすすめしました😊   これをすすめていく ● チームラボオンラインスキルアップ課題 https://team-lab.github.io/skillup/   🌟基礎編 ●ドットインストール PHP検索 https://dotinstall.com/search?q=PHP&f=topbar ● Laravel https …