はじめに JSON 形式のログを送ると何がいいのか 今回のサーバー構成 Laravel から JSON でログを送るには スタックトレースも出したい 課題 まとめ はじめに この記事は Qiita Laravel Advent Calendar 2023 の3日目の記事です。 1日目はこのカレンダー作成…
PHPStan を実行していると、以下のように、単に Error とだけ表示された XXXXXXXXXX の部分には人によって色々な文章が表示される -- ----------------------------------------------------------------------------------------------- Error -- ---------…
Laravel の HTTP Test Laravel には HTTP テストという機能がある https://readouble.com/laravel/8.x/ja/http-tests.html このテストはめちゃめちゃ便利で、実際にリクエストを送って、返ってくるレスポンスをシミュレートできる。 get('/'); $response->as…
composer ライブラリの依存エラー エラーの見かた 解決方法 詳細な解決方法 composer update guzzlehttp/psr7 guzzlehttp/promises 最後に composer ライブラリの依存エラー composer で aws/aws-sdk-php のライブラリをインストールしたところ、以下のよう…
Guzzle とは リクエストオプションの指定の方法 例外処理の方法 例外の構造 例外の意味 GuzzleException まとめ Guzzle とは HTTP リクエストを送りたいとき、例えば、Web APIを叩きたい時、PHP では Guzzle という HTTP クライアントライブラリが最も有名で…
はじめに JSON 形式の Web API とは Laravel で JSON を返す基本的な実装 JsonSerializable インタフェースを使う JsonSerializable を使うと便利な点 想定外の例外が発生した場合の対応 Laravel デフォルトのエラー画面 Laravel のレスポンス形式は Accept …
はじめに PHP 8.0 / 8.1 で個人的にめっちゃ使いたい機能3選 名前付き引数(PHP 8.0) コンストラクタのプロモーション(コンストラクタ引数のプロパティ化) Readonly Property おわりに 余談: ドメイン駆動設計について はじめに 遅れました。この記事は P…
Handler の処理を見ていく 最初の部分 次の部分 最後の部分 $request->expectsJson() Laravel は、デフォルトで例外をキャッチして、サーバーエラーの表示をしてくれる。 この処理を行っているのは、 App\Exceptions\Handler である。 このクラスは Illumina…
環境 エラー内容 調査 環境 Docker の php:7.4.16-apache を利用 Laravel を利用 エラー内容 [2021-08-24 10:43:16] production.ERROR: could not find driver at /app/laravel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:671) 調査 …
結論 どういう時に使うの? Carbon と Chronos の例 Chronos と Laravel 結論 PHP の ReflectionClass を使えば可能です。 getFileName()); どういう時に使うの? PHP には autoload という機能があり、皆さん普通はこの autoload を利用しているかと思いま…
値オブジェクトを使わず、プリミティブな型を使うとどうなるか 各IDの型が分かりづらい delete メソッドの引数の型チェックが弱い そこで値オブジェクト さいごに 値オブジェクトを使わず、プリミティブな型を使うとどうなるか ブログシステムを考えましょう…
これまで僕が業務で触ったことあるフレームワーク(と言語)は Laravel (PHP) Slim Framework (PHP) Django (Python) Gin (Go言語) で、どれも1年以上は保守しています。 長年業務で使ってきたこれらのフレームワークについて、実際使ってみてどうだったのか…
phpQuery vs php-html-parser この記事で扱う PHP のバージョン php-html-parser をインストール 実際に使ってみる まとめ phpQuery vs php-html-parser 以前、以下の記事を書きました。この記事では phpQuery というライブラリを使いましたが、phpQuery は3…
composer require と composer remove 結論: composer.lock を作り直すしかない composer.lock を作り直したくない 依存をきれいに消すコマンドは無い composer update コマンドをうまく使う composer update する場合の注意点 結論 composer require と com…
news.mynavi.jp 脆弱性の詳細ですが、理解しようとするとかなり時間が掛かりそうなので省略します。 composer のバージョンアップは難しくなく、アプリケーションへの影響も小さいので、サクッとアップデートしましょう。 $ composer self-update Updating t…
今年のアドベントカレンダーでは10本の記事を書いたので、その10本をまとめます。 個人開発でサービスをリリースまで持っていくポイント レガシーなプロダクトに Laravel を導入する第一歩 PSR-2 に変わって新しく制定された PSR-12 のチェックを PHP_CodeSn…
はじめに PSR-12 とは PSR-2 と PSR-12 の違い PHP_CodeSniffer とは IntelliJ / PHPStorm でスタイルチェックする Jenkins でコーディングスタイルチェック まとめ はじめに この記事は PHP アドベントカレンダー 4日目の記事です。 qiita.com 昨日は @taro…
はじめに レガシーなプロダクトに Laravel を導入する Laravel について なぜ部分的にでも Laravel に移行していきたいのか Laravel の DI 機能 Laravel の Facade どうやってレガシーコードから Laravel DI と Facade を使うのか Kernel の中身をちょっと見…
仕事で PHP のプロダクトのリビルトを行っていて、 PHP 開発を始めるために必要なことを整理したので、ブログでも公開しておきます。 PHP のプロダクトを開発しているチームに、新しい人が Join したときなどに使えます。 知っているところは読み飛ばして、…
PHP のコーディング規約 PSR-12 の対応状況 PHP のコーディング規約 PHP は PHP-Fig という団体で様々な規約が決められているが、2019年8月、PSR-2に変わり、PSR-12 という新たなコーディング規約が採用された。 PSR-12 が出るまでは、PSR-1, PSR-2, PSR-4 …
Laravel/LumenをLiteSpeedで動かす 無料の Open LiteSpeed で .htaccess を読めるのか どうしたのか rewrite enable 1 rulesの中身 設定が適用されているか確認する まとめ Laravel/LumenをLiteSpeedで動かす Laravel (や Lumen )を LiteSpeed 上で動かし…
Lumen artisanコマンドを叩く Migration ファイルを編集 Migration コマンドを叩く Eloquent を有効に Lumen Laravel を軽くしたと言われる Lumen で Migration をしてみます artisanコマンドを叩く Laravel と同じっぽいので Laravel の Eloquent のドキュ…
PHPEarth とは PHPEarth のイメージにはPDOが入っていない Dockerfile で確認 ドキュメントを確認 Dockerfile で追加してみる 動かない理由を調査する php -m で見てみる php.ini を見る イメージを削除してやりなおしてみる 結論 PHPEarth とは PHPの色々な…
/etc/litespeed/admin/htpasswd がユーザー名とパスワードの設定になっている。 www.luft.co.jp などのツールをつかってできたhtpasswdファイルをそこに配置すれば、そのユーザー名とパスワードでログインできるようになる。
はじめに Lumen Lumen Lumenのアプリを作成する Docker LiteSpeed LiteSpeed とは Docker の LiteSpeed イメージ Docker LiteSpeed ファイル構造 Lumen のための設定 まとめ はじめに この記事では、Docker上でLiteSpeedを使ってLumenを動かすことを目標にし…
composer で phpQuery をインストールする htmlをパースする まとめ composer で phpQuery をインストールする Composer が入っている前提とします。 composer require electrolinux/phpquery htmlをパースする Guzzleでリクエストをして、返ってきたHTMLを…
Guzzleについて Guzzle という PHP の HTTP クライアントがある。 github.com このライブラリ、めちゃめちゃ使われているし、基本的には使い勝手も良い。僕も PHP で Web API を叩く時などには基本的にはこれを使う。 違和感 しかしある時に違和感に気づく。…
はじめに PHPUnit 6 にするきっかけ 地道な修正作業 クラスの namespace mt_rand と mt_srand グローバル変数の扱い non-numeric test phpunit6 ochiru アサーションをしていないテスト PHPUnit 6 にしてよかったこと そして時代は はじめに この記事は PHP …
はじめに 環境 PHP, nginx, php-fpm のインストール PHP と php-fpm を Amazon Linux にインストールする nginx を Amaxon Linux にインストールする 各種設定 nginx の設定 server_name root fastcgi_pass php-fpm の設定 ユーザーと権限 nginx から php-fp…
環境 はじめに AuthenticatesUsers::login の中でやっていること validateLogin hasTooManyLoginAttempts まわり ThrottlesLogins::hasTooManyLoginAttempts attemptLogin それ以降の処理 環境 PHP 7.3 Laravel 5.8 はじめに Laravel では標準で認証の機能が…