https://fortee.jp/phpcon-2026/proposal/fc3d00e7-91ab-431a-94ae-d79601d9d585
https://fortee.jp/phpcon-2026/proposal/fc3d00e7-91ab-431a-94ae-d79601d9d585
📣本書の内容を大幅にパワーアップした書籍が技術評論社さんから出版されることになりました! 本書の内容は古いバージョンをベースにしたものから今後更新されませんので、新たにお読みいただく場合はぜひ書籍をお求めください🙏 https://www.amazon.co.jp/dp/4297154919 --- API Platform (https://api-platform.com/) は、SymfonyをベースとするPHP製のWeb APIフレームワークです。 簡単な設定を書くだけでSymfonyアプリにREST API(やGraphQL API)の機能を一瞬で追加することができて非常に便利なのですが、2023年9月現在、ある程度以上複雑なことをしようとすると途端にフレームワークについての深い理解が求められたり、痒いところに手が届かず強引なワークアラウンドが必要になったりするという面もあり
ここ数年PHPを使った開発を避けるようにしてきた。 理由は簡単で、Vercel + Nextjs(App Router)が結構強力な存在だったから。 ここ数年PHPを使わない理由 PHPでバックエンド作ってAPI仕様書を用意して、フロントエンド側として独立して開発みたいなの一見良さそうに見えるけど結構ツラミがある APIがバックエンド視点で設計されていることが多い SPAなんだかんだで辛い(認証とか・SEOとか) バックエンドエンジニア・フロントエンドエンジニアの分離によるコミュニケーションコスト こういう経験を経て昔の開発スタイルを振り返ると、Webアプリケーションを作っているのにバックエンド/フロントエンドで分割するのはよくないなぁと感じた。 もちろんどっちが得意みたいな領域はでてきてしまうけど、それでも僕はやっぱWebアプリケーションエンジニアで、Webアプリを作って価値を届けるみた
はじめに PHPでの開発において、コードの品質を高く保つことは、プロジェクトの成功に欠かせない重要な要素です。 これまで、コードフォーマッタ、リンター、静的解析といったツールは、それぞれ別のものを組み合わせて使うのが一般的でした。しかし、今回ご紹介する Mago は、これらの機能をたった一つに統合した、PHP界に現れたちょっと革新的なツールチェーンです。 私自身、普段のPHP開発では、次のようなツールを愛用していました。 PHPStan: 頼れる静的解析ツール PHP-CS-Fixer: コードを美しく整えるフォーマッタ これらのツールに大きな不満はなかったのですが、心のどこかで「静的解析、もう少し速くならないかな…」「ツールの設定がバラバラで、ちょっと面倒だな…」と感じていたのも事実です。 そこで今回は、最近注目を集めている Mago という、Rustで書かれた爆速PHPツールチェーンを
2025/03/21-23 に中野セントラルパークカンファレンスで開催された PHPerKaigi 2025 にて、「php-fpm がリクエスト処理する仕組みを追う」を発表してきました。 発表資料 AI ツールの活用 事前確認 登壇サポート さいごに 発表資料 php-fpm が FastCGI リクエストを処理する仕組みを gdb によるステップ実行デモを中心にお話ししました。 gdb を使ったデモは概ね好評だったようで、仕組みを知ることの楽しさが共有できて嬉しかったです。技術の楽しさを共有できるのはこうしたイベントの良さの一つですね。構想段階ではデモは一部のみにして、スライドによる解説をメインにしようと思っていたのですが、紆余曲折を経てデモをメインにすることにしました。デモは見る側としても面白いですし、やっていても楽しいです。その場の状況に応じて臨機応変に対応しやすいのも良いですね。
この記事は弁護士ドットコム Advent Calendar 2024 の 21 日目の記事です。 はじめに リーガルブレイン開発室の tsuchiya です。 先日、セッション ID を JWT に内包するという記事を読みました。 "JWT=ステートレス"から一歩踏み出すための考え方 上記記事では、 セッション ID を内包した JWT を活用する ことについて紹介しています。 JWT の性質を最大限活用したもので、非常に共感できる内容でした。 本記事では上記記事をうけて、セッション ID を内包した JWT をセッション Cookie として使用する処理を PHP で実装してみたので、その内容について紹介します。 JWT とは 本記事では、JWT の詳細な仕様に関する説明は省略しますが、本記事を理解するうえで重要になる性質について簡単に紹介します。 JSON Web Token(JWT)
PHP Advent Calendar 2023 の15日目の記事です!🎄✨ はじめに Macで複数バージョンのPHPを使い分けるのって意外と難しくないですか? Docker経由でしかPHPを使わないみたいな猛者スタイルで行ければいいのかもしれませんが、パフォーマンスや開発体験の問題からローカルのPHPを使いたい事情もあると思います。 phpenv と .phpenv-version ファイルを併用すればディレクトリごとに使用するPHPバージョンを指定することもできますが、このソリューションはいざ導入しようとすると Yak Shavingの嵐が待っていて(実体験) 非常に面倒だったりします。 というわけで、本稿では僕がMacのローカル環境で複数バージョンのPHPを楽に使い分けるために実際にやっていることをサクッとまとめてお伝えしたいと思います。 PHPのインストール まず、PHPのインス
PHP8.4が出ましたね 🎉 tl;dr 今日のお話は、 「jdkfxさんが用意してくれた環境がメッチャ便利で最高だったよ」という内容です。 https://github.com/jdkfx/phpdoc イントロ 最近coreへの貢献をしている人が身近(?)でも増えているし、日本人でコアなデベロッパーはすごすぎる・・なんてものを眺めていて。 うぉ〜〜俺もなんかしてぇ〜〜〜!!ってなるじゃないですか。 もともと「お世話になっているコミュニティやOSSには沢山恩返ししたいな」と思っていて、カンファレンスやOSS作者や団体に向かって個人スポンサーをやったりはしています。 ただ、自分の中では、受けている恩ってそれだけで返しきれるものでもなく。 最大の恩返しは「もっと盛り上げる!」だとも考えていて、それって「賑やかす」「開発や利用しやすさの改善に貢献する」が効きそうだな〜とも思っている訳です。
OpenTelemetry を利用して PHP アプリケーションのテレメトリデータを計装する方法をまとめました。 本エントリのコードは下記で公開しています。 github.com OpenTelemetry とは 用語 PHP アプリケーションのマニュアル計装(手動計装) 構成 OTel Collector Jaeger 動作環境 必要なパッケージ PHP コード 設定 実行 PHP アプリケーションのゼロコード計装(自動計装) 必要な拡張とパッケージ 設定 PHP コード 実行 さいごに 参照 OpenTelemetry とは opentelemetry.io OpenTelemetry は、サービスやアプリケーションのテレメトリーデータ(トレース、メトリクス、ログなど)を計装、生成、収集、送信するためのオブザーバビリティフレームワークです。ベンダーニュートラルな OSS であり、CNC
本エントリでは、PHP の内部実装(php-src)から OPcache のオペコードキャッシュの仕組みを見ていきます。 OPcache にはいくつかの機能がありますが、ここでは共有メモリへのオペコードキャッシュと preload が対象です。ファイルベースのキャッシュと JIT については触れません。 サマリ オペコードキャッシュ preload オペコードキャッシュと preload の比較 オペコードキャッシュ キャッシュデータレイアウト グローバル変数、マクロ キャッシュデータ構造体 オペコードキャッシュ: ZCSG(hash) キャッシュエントリ: zend_accel_hash_entry キャッシュデータ初期化 OPcache 処理の有効化 PHP ファイルコンパイル処理でのキャッシュ制御 persistent_compile_file() の主な処理 zend_accel_
はじめにLaravel 11の新機能に 合理化したアプリケーション構造 “Streamlined Application Structure” というものがある: Laravel 11では、既存のアプリケーションに変更を加えることなく、新しいLaravelアプリケーション向けに合理化したアプリケーション構造を導入しました。新しいアプリケーション構造は、Laravel開発者がすでに慣れ親しんでいるコンセプトの多くを保持しながら、よりスリムでモダンなエクスペリエンスを提供することを目的としています。 https://readouble.com/laravel/11.x/ja/releases.html#structure 該当プルリクエスト で Slim skeleton と題されている通り、初期構造が大幅に簡略化されている。 一方、既存のアプリケーションをアップグレードする場合: Larav
この記事のモチベーション 「php-fpmとはなにか?」を知るため、PHPのドキュメントを見ました。 しかし、ここに書いていることはまあそうなのですがあまりに焦点が絞られ過ぎてて「php-fpmとはなにか?」に対する答えとしては少し不十分な気がしていました。 例えるなら数学の問題に答えるにあたって、途中式を飛ばしたり証明の過程を飛ばしたりというような感じ。 不十分というのは、それを理解するための段階をすっ飛ばして答えだけが書かれている状態のことを指しています。 その不十分なところを自分も曖昧にしか理解できていない気がしており、いい機会なので整理しておこうというのがこの記事のモチベーションです。 そのためこの記事は、「php-fpmとはなにか?」をプロセス→Webサーバー→実行方式と順を追って説明していく構成になっています。 「細けぇこたぁいいんだ、おらぁ今すぐ答えだけ知りてぇンダ」という方
nginxでWordpressサイトを運用する場合、php-fpmを利用することが多いかと思います。(Apacheでも利用することができますが) php-fpmの設定によって、Webサイトのパフォーマンスは左右されます。それだけでなく、不適切な設定はメモリリーク等につながるので、Webサイトにとって重要な設定であるといえます。 この記事では、そんな php-fpm の設定の最適化方法について解説していきたいと思います。 php-fpmの役割と特徴 WordPress などの動的サイトは、Webサーバーがクライアントからリクエストを受けると、サーバー上でPHPを実行して動的にページを生成し、生成したページをレスポンスとしてクライアントに返します。 この、サーバー上でPHPを実行する仕組みがphp-fpmです。php-fpmでは、リクエストのたびにプロセスを生成していたのでは非効率なので、原則
A recurring Symfony feature request during the past years has been the mapping of the incoming request data into typed objects like DTO (data transfer objects). In Symfony 6.3 we're finally introducing some new attributes to map requests to typed objects and validate them. First, the #[MapRequestPayload] attribute takes the data from the $_POST PHP superglobal (via the $request->request->all() met
サーバサイドWebAssemblyに、かつてのCGIの仕組みを取り込んだ「WCGI」をWasmerが発表。すぐ起動し安全に分離されるWebAssemblyの特長が活きる スタンドアロンのWebAssemblyランタイム「Wasmer」の開発元であるWasmer.ioは、サーバサイドのWebAssemblyフレームワークとして、かつて動的なWebサイトを構築する技術として主流だったCGI(Common Gateway Interface」の仕組みを取り込んだ「WCGI」を発表しました。 Today we are incredibly excited to announce WCGI. WCGI allows running any CGI app with WebAssembly and Wasmer! (...we got Wordpress running! ) Check it out
Slim Framework と Docker を使って本格的にアプリを作ってみよう はじめに Web アプリケーションの開発をするにあたっては勉強しなければならないことは多く、どう勉強すれば良いかはなかなか難しい問題です。初心者向けの解説は比較的たくさんあるのでとりあえずやってみるくらいは何とかなるものの、実戦的な開発がどうなっているかという総合的な話は実務を経験しないとわからないことが多いことでしょう。 ということで、本記事では最近流行の Docker と、そこそこ名前は見かける PHP のマイクロフレームワークの Slim Framework を使って実戦的な Web アプリの開発をしてみる(開発環境を作ってみる)こととします。実装的には、ドメイン実装としてユーザー登録、ログイン、ユーザー情報取得の3つのAPIを実装するところまでを取り扱います。また、静的解析を最大限活用してユニット
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く