この記事はPHPStan開発者のOndřej Mirtesによって2024年8月27日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org 最初のPHPStan 1.0リリースから3年が経ち、PHPStan 2.0が近づいてきました。新しいメジャーバージョンのアイデアのリストを精査…
この記事はPHPStan開発者のOndřej Mirtesによって2024年5月13日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org エラー識別子を備えたPHPStan 1.11、PHPStan Proの再始動など このリリースは一年にわたって取り組んできました。それは一年何…
6月の福岡といえばPHPカンファレンス福岡ですね! phpcon.fukuoka.jp 前回の開催予定だった2020がコロナ禍で中止になってしまったため、2019以来の4年ぶりの開催ということになりました。 私は6月22日の早朝に出発して25日まで福岡市内に滞在しておりました…
2023年も終わった… もう一週間も前のことになりますが、今年はこんな感じのことをしていました: コアスタッフ バックボード発注 (おっきい市松模様の背景みたいなやつ) バナー発注 (縦長の布っぽい看板みたいなやつ) Track A 部屋係 (DAY 0, DAY 1) ゴミ収…
この記事はPHPStan開発者のOndřej Mirtesによって2023年2月21日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org 私(Ondřej)はPHPStan 1.10のアイディアを実装してリリースすることを長い間たのしみにしていました。 インラインPHPDoc @var タ…
この記事はPHPStan開発者のOndřej Mirtesによって2022年11月3日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org PHPStan 1.9.0はまさにコミュニティの尽力によるものです。目玉機能はすべて、メンテナーである私(Ondřej)以外の誰かの貢献です…
この記事はPHPStan開発者のOndřej Mirtesによって2022年4月26日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org 条件付き戻り値型 (Conditional return types) この機能の大部分はRichard van Velzenが開発しました。 PHPStanは初リリース以…
去年に引き続きPHPerKaigiにコアスタッフ・発表者として参加してました。 phperkaigi.jp そういえば一年前にこんな記事も書いたりもしてました。 www.phper.ninja 去年の暮れから今年にかけて体調を崩しておりタイミング的にぎりぎりだった気もします。(在宅…
この記事はPHPStan開発者のOndřej Mirtesによって2021年4月3日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org PHPは記憶されるべき関数呼び出しの戻り値について、これまで一貫性がありませんでした。 getName()) { \PHPStan\dumpType($pers…
この記事はPHPStan開発者のOndřej Mirtesによって2019年12月2日に書かれた記事を翻訳したものです。記事の末尾には訳者(@tadsan)の観点によるPhan, Psalm, PhpStormとの互換性についての情報も記述しています。 medium.com 2年前、私(Ondřej Mirtes)はユニオ…
PHPerKaigi(ペチパーカイギ)をご存じでしょうか? phperkaigi.jp ここ数年、日本中でPHPをテーマにした技術イベントが開催されています。そのうち東京で開催されているPHPの総合カンファレンスには「PHPカンファレンス」と「PHPerKaigi」の二つがあります。 …
Cookies default to SameSite=Lax - Chrome Platform Statusということで、何もなければ2020年2月4日にはリリースされる見込みのChrome 80(参考: Chrome Platform Status)を皮切りにCookieにデフォルトがSameSite=Lax相当になるということで、駆け込みでSame…
この記事はPHPStan開発者のOndřej Mirtesによって2019年12月4日に書かれた記事を翻訳したものです。 medium.com これは6ヶ月にわたって開発された大規模なリリースです。この新しいメジャーバージョンの開発中も私たちは多くのマイナーバージョンをリリース…
Laravel.shibuyaは渋谷の5人のイカしたLaravelギャングどもが今年の5月から定期開催するミートアップです。 laravel-shibuya.connpass.com よくあるセッション中心の技術勉強会とは異なり、Laravel.shibuyaはIRT(Interactive Round Table)、つまり座談会によ…
沖縄在住の新進気鋭の超絶技巧プログラマであるりゅうくん主催の会に参加してきました。 connpass.com ずっとRubyで変なことをやってるhanachinさん、TRICK 2018で5作品入選で鮮烈な存在感を発揮したぺん!(tompng)さん、元同僚でギークハウス沖縄オーナーの…
Laravel JP Conferenceに参加してきました。あと懇親会で飛び入りのLT発表もしました。 https://conference2019.laravel.jp/conference2019.laravel.jp 経緯 もともとは本セッションに応募したのですが落選したのでした。当日スタッフ募集の時期に体調を崩し…
PHPカンファレンス仙台2019の参加者としての感想はMediumに書きました。 medium.com さて、ここではPHPコードの実装者としての感想を書きます。 github.com 2019年1月31日10時20分 追記 真にPSRとHTTPの関係について学びたい型は、PHPカンファレンス2018の田…
PHPerKaigi 2018は今回初開催される新しいカンファレンスです。今回の発表の正式タイトルは「PHPでテスティングフレームワークを実装する前に知っておきたい勘所」ですが、これはCFP応募前にあったいくつかの案を統合したものです。
ピクシブ開発基盤チームのうさみ(@tadsan)です。この記事はピクシブ株式会社 Advent Calendar 2017の16日めの記事です。Emacsを使ってPHP開発を効率化するための手段を紹介します。
2017年8月19日と8月20日の両日にOpen Developers Conference 2017 TokyoとLLイベント2017ことLearn Languages 2017 in ODCに参加してきました。 https://www.ospn.jp/odc2017/modules/eventrsv/?id=1&noform=1www.ospn.jp PROGRAM – LLイベント2017 プログラ…
「オブジェクトの複製」には本質的に厄介な問題をいくつも含みます。特に、オブジェクトの再帰的な複製(ディープコピー)には直感的ではない動作や単純ではない依存関係が発生しがちです。myclabs/deep-copyはそれをいい感じに解決してくれます。 公式サイト …
すごいPHPer(ぺちぱー)になりたいと思っていろいろやってたんですが、ちょっと慌しいのが重なって報告わすれてました ヾ(〃><)ノ゙☆ PHP BLT #3でしゃべってきた PHP BLT #2は参加できなかったけど、#3には参加してました ヾ(〃><)ノ゙ なんとかStormに負け…
今月発売のWEB+DB Press vol. 91にPHPのオートローディングについて書きました。みんなでオートローディングしまくろう。 https://t.co/4Hr43lyzjg pic.twitter.com/Iug3xcYPGw— public static functi (@tadsan) 2016, 2月 8 Composerとかでインストールした…
PHP BLT #1はPHP界隈のTipsについて5分で話すLT大会です。 phpblt.connpass.com コンセプトとしてはもっと気軽な内容を意図されてたはずなのですが、このスライドでは20分枠で話すような内容を説明不足に任せて駆け足でLTにした感じです! たのしい独自フレ…
User-Agent/UA文字列はブラウザなどのユーザーエージェントが自己申告する識別子のことです。この値は歴史的経緯から複雑怪奇で、付け焼刃の実装では正確な判定が困難です。 Project Wootheeはプログラミング言語に依存しないUA文字列パーサーを開発するプロ…
php.netはPHPの公式サイトです。ダウンロードやリリースノートがあるのは当然なのですが、その中でもPHP: Documentationには技術文書が網羅されてます。 RubyやPythonのドキュメントが各バージョンごとや英語とその他の言語(日本語を含む)の断片化が著しいの…
Webにはフリーソフトウェアとして公開された多くのPHPライブラリがあります。しかし、多くのスクリプトには「ライセンス」と呼ばれる利用条件が設定されて居り、利用者はこれを遵守する必要があります。 今回は多くのPHPライブラリのライセンスとして採用さ…
Flysystemは複数のファイルシステムを透過的に操作できるライブラリです。 ローカルのファイルシステム(UNIX系/Windows)はもとより、zip形式のファイル書庫やFTPやWebDAVを経由したリモートディスク、Amazon S3やDropBoxのようなクラウドサービスなど、さま…
PHPのコードを書いて動かして試行錯誤… するのに、わざわざエディタでコードを書き、保存してphpコマンドを起動する… のは非効率です。そんなときはPsySHを使ってみませう。 PsySHはインタラクティブシェルと呼ばれるジャンルのアプリケーションです。対話環…
PHPスクリプトから他のプログラムを起動して、その出力結果を得たいことがあります。PHPではexecやproc_openがあります。しかし、標準出力(stdout)と標準エラー出力(stderr)をうまく制御して出力を取得するのは、実はなかなか面倒だし、マニュアルを読みなが…