ありそうでない関数…🐱 private function _checkDuplicate(array $values): bool { if (!is_array($values)) { return false; } $array_count = count($values); $unique_values = array_unique($values); $uni …
カテゴリー: 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 オブジェクトやキーの値の取得
PHPerたるもの最短で値にアクセスしなければならない。水の呼吸。 思考を使わなくて良いところで頑張っちゃうと進捗が死ぬ。 ケース① オブジェクト [“original”:protected]=> array(39) { [“animal_id”]=> int(777) } } [“relations”:protected]=> ar …
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 …
Laravel enum型、外部制約があるマイグレーション
enum型対策 public function __construct() { DB::getDoctrineSchemaManager()->getDatabasePlatform()->registerDoctrineTypeMapping(‘enum’, ‘string’); } 外部キー制約対策 //外部キー制約を一旦無効化 Schema::di …
PHP7 メモリリーク
PHPのメモリリーク対応したことがあったのを思い出した。。(╹◡╹) foreachで参照を利用する変数は生き残るので、nullを入れて解放する foreach($items as &$val) { // } $val = null; @see PHP 7のforeachを&つきで回すと配列の消費メモリが倍増 …
PHP 後置, 前置インクリメント
後置インクリメント $num = 0; echo $num++; // 0 echo $num++; // 1 インクリメントする前に変数を応える。 前置インクリメント $num =0; echo ++$num; // 1 echo ++$num; // 2 変数をインクリメントしてから応える。 使用例 PHP …
PHP preg_match() 正規表現の世界
半角英字 preg_match(‘/^[a-z]*$/i’, $input); 0以上であり、数字で構成されている preg_match(‘/^[0-9]*$/’, $input) > 0 2桁以下の数字 preg_match(‘/^[0-9]{,2}$/’, $input) 基本的な正規表現 ^ 行頭 …
【工事中】 PHP 例外ハンドリングの世界
工事中なのだ。 @see エラーと例外とセキュアコーディング/セキュアプログラミング PHPでのエラー処理・例外処理 Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><
デザパタ本を読んでオブジェクト脳ができるまで
オブジェクト脳ができるまで クラスの修飾子を把握する public protected privateの違い abstract, interfaceの違いを把握する デザパタ本を写経する Facadeあたりがわかるようになる 関連と集約の意味を把握する 関連・・・newで呼び出すが、呼び出したインスタンスはプロパティに保持しない 集約・・・プロパティにインスタンスを保持する UMLの …
PHP 文字化けとエンコーディング
エンコーディングに気をつける 外部ファイルを読み込んだ時 フォームから日本語が送信される時 なぜ 日本語はマルチバイト文字なので、英語圏のように1バイト文字ではない。 読み込んだ外部ファイルの情報がSJISかつPHPスクリプトがUTF-8の場合に文字化けが発生する。 外部から受け取った日本語の情報はエンコーディングする必要がある 対策① mb_conv …
Laravelお役立ちリンク集
私に役に立つんだよなぁ(。- .•) 公式ドキュメント, リファレンス Laravel.com Laravel ドキュエント 本家 Laravel 日本語ドキュメント Laravel API ファサードなどを知る Laravel Recipes 日本語訳 Wiki的なもの 学習 LARACAST 日本語で学習できるサイト Laravel 学習帳 チュートリ …