カテゴリー: PHP

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

PHP オブジェクトやキーの値の取得

  PHPerたるもの最短で値にアクセスしなければならない。水の呼吸。 思考を使わなくて良いところで頑張っちゃうと進捗が死ぬ。   ケース① オブジェクト   [“original”:protected]=> array(39) { [“animal_id”]=> int(777) } } [“relations”:protected]=> arra …

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 …

PHP

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

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

PHP

PHP7 メモリリーク

  PHPのメモリリーク対応したことがあったのを思い出した。。(╹◡╹)   foreachで参照を利用する変数は生き残るので、nullを入れて解放する foreach($items as &$val) { // } $val = null;       @see PHP 7のforeachを&つきで回すと配列の消費メモリが倍増する …

PHP

PHP 後置, 前置インクリメント

  後置インクリメント   $num = 0; echo $num++; // 0 echo $num++; // 1 インクリメントする前に変数を応える。   前置インクリメント   $num =0; echo ++$num; // 1 echo ++$num; // 2 変数をインクリメントしてから応える。   使用例   PHPデザ …

PHP

デザパタ本を読んでオブジェクト脳ができるまで

  オブジェクト脳ができるまで クラスの修飾子を把握する public protected privateの違い abstract, interfaceの違いを把握する デザパタ本を写経する Facadeあたりがわかるようになる 関連と集約の意味を把握する 関連・・・newで呼び出すが、呼び出したインスタンスはプロパティに保持しない 集約・・・プロパティにインスタンスを保持する UMLの …

PHP

PHP 文字化けとエンコーディング

  エンコーディングに気をつける 外部ファイルを読み込んだ時 フォームから日本語が送信される時   なぜ 日本語はマルチバイト文字なので、英語圏のように1バイト文字ではない。 読み込んだ外部ファイルの情報がSJISかつPHPスクリプトがUTF-8の場合に文字化けが発生する。 外部から受け取った日本語の情報はエンコーディングする必要がある   対策① mb_conver …

PHP

Laravelお役立ちリンク集

私に役に立つんだよなぁ(。- .•)   公式ドキュメント, リファレンス Laravel.com Laravel ドキュエント 本家 Laravel 日本語ドキュメント Laravel API ファサードなどを知る Laravel Recipes 日本語訳 Wiki的なもの   学習 LARACAST   日本語で学習できるサイト Laravel 学習帳 チュートリ …