PHP

PHPで長さが決まった配列をゴニョゴニョするんじゃな

PHP

「出てくるキー(offset)は決まっている」みたいなリスト的なものにデータを突っ込んでいく時、 例えば「1週間のデータ」「キーに曜日番号を使うよ(データは上書きして良いよ)」とか、あると思うんですけど 「歯抜けはいいとしても若い順に並べてくれ」みたい…

PHPUnitでテストケース個別の事前/事後処理をしたいんだけどなぁ

PHP

setUp/tearDownってクラス単位で生やしてテストケース実行時に処理が走りますけど、アレをテストケース(メソッド)単位で指定できたら良いのになぁ・・・って気持ちがあるんですね。何か設計が間違っているのかもだけど。 例えば「DBをいじくり回すケースの前…

「PHPのファイルに差分があるかを(astを使って)調べる君」を晒した

public repositoryに投げてPackagistに登録済み

PHPStanを利用しているPJにおけるbaselineの進化を追う

PHP

staabm/phpstan-baseline-analysis で遊んでみました

streamWrapperが「何文字読み込めるか」みたいなのを少し掘る

PHP

streamWrapperが〜みたいな記事をzennに書いたんですけども。 zenn.dev 記事中でも「多分こんな感じで動いてるけど、実装を見てないからわからないよ」と書いているのが、stream_readとファイル読み込みサイズの関係。 動かす 準備 例えば、「いつも決まった…

「PHPのファイルに差分があるかを(astを使って)調べる君」を書いた

PHP

つくった これのPHP版が欲しいhttps://t.co/vP8dXWbeBc— 今日も誰かのにちようび(おいしい鮭親子丼) (@o0h_) 2023年8月11日 Google先生が0.43 秒で見つけてくれましたhttps://t.co/TsSGEJqwxs— 今日も誰かのにちようび(おいしい鮭親子丼) (@o0h_) 2023年8月1…

#phperkaigi 2023でのトークに向けて参考にした資料・発表まとめ

PHP

PHPerKaigi 2023で、チャンスをいただいたので発表をしてくるでございます。 fortee.jp 今回のトークテーマは、「10年ちょいの間でPHP界隈どんな事があったっけ・どんな感じになったっけ」について考えるような内容になりました。 そのため、過去にカンファ…

PHPUnitの実行結果(失敗したテスト)をProblem MatcherでPRのdiffに示す

PHPerKaigi 2022でLTしてきます。 fortee.jp で、Problem Matchersの話に触れるのですが、5分では触れられ無さそうな内容を予め残しておきます。 Problem Matchers? ↓みたいな感じで、PR時のdiff上に「ここが間違っているよ!」を示す仕組み(の1つ)。 ざっ…

PHPのエラーとか例外とか考える in 令和 #PHPerKaigi

PHPerKaigi2021に「PHP8になった今の時代に、PHPの「エラー」「例外」そして「Error」をおさらいしておこう」と題して応募したプロポーザルが採択されまして、お話をする機会をいただきました。 その内容について触れるエントリーです。 (今回はLTでもしゃべ…

「is_null()を使うか === nullを使うか」と何気なく聞いてみたら面白かった

PHP

is_null($v)と $v === null、どっちが好きですか?

「光遅い」と言い放ったエンジニアさんの影を未だに追いかけている

PHP

Composer2について調べていたら改めてprestissimoの偉大さに気づいたのでした。 #phpcon2020 #php #phpcon

「\Throwableをcatchしないで」と伝えていく

PHP

PHPのThrowableとかErrorについて、信頼できそうなソースを探しながら考えを整理してみました。

PHPファイルのgit-diffを見やすくする

PHP

小ネタ。 cakephpのPRをほげ〜〜〜っと眺めていたら https://t.co/q3NzNDEwPs.gitattributesの `*.php diff=php` 知らなかった!すごそう— 今日も誰かのにちようび(おいしい鮭親子丼) (@o0h_) 2020年9月30日 ということで、やってみるか!!となった次第です…

yieldとコルーチンと非同期処理

1人AdventのDay-15です。もう2週間経ったのか、12月よ・・ adventar.org 最近、ちらちらっと「Swoole」という単語を聞くようになった気がしており、それについて調べてみよう〜という予定でした。が、「まずコルーチンとかについて頭の中を整理したいな・・…

個人的にPHPのassert()の使い方を整理する

1人AdventのDay-12です。12ですかぁ〜 adventar.org PHP*1にはassertというものがあります。 www.infiniteloop.co.jp これ便利だし、コードを「良くする」ことのできる嬉しい機能だと思っています。 ただ、往々にして「開発を健全に続けていく」という目的の…

モックライブラリ「Prophecy」と「PHPUnit_Framework_MockObject」の比較

1人AdventのDay-6です。 adventar.org 前回の記事は @o0hさんでした。本日は、私@o0hがお送りします。 さて、皆さんはPHPUnitを利用する際に、モックを使っていますか? PHPUnitには、標準で2つのモックオブジェクトが入っています。 1つ目が、MockObject で…

SymfonyはPHP-FIGから離脱するのかな?

1人AdventのDay-5です。 adventar.org PHP的にはそろそろPHP7.3が出るよ〜ってことで、明るい話をしたいなぁ!って頃だと思うのですが。。今日は「最近あったニュース」でいう事では、個人的にこちらも注目しています。 ※ 本記事は、私が普段Symfonyやそのコ…

Docker PHPの各種バージョンの違いについて調べてみる

adventar.org Day-3です。 カレンダーを見ると、「docker phpの各種バージョンの違いについて調べてみる」という事でネタが設定されていました。 これに従ってまいりましょう。 はて・・・ PHPの公式Dockerイメージ https://hub.docker.com/_/php/ これのこ…

俺がPHP環境作っていてXdebugが動かない(DBGpからのコネクトバックが来ない?)と思った時のメモ

掲題のとおりです作業メモです。 昨日今日から zendframework/zend-stratigility 触ってます楽しいですしかしブレイクポイント貼れないのがストレスどうにかするぞ、と思ったときのメモです。 xdebug食っているか見る php自体が食っていてもサーバー側(Apach…

Composerの更新 -> PRを作る、をCI上で自動的に実行するプラグインを作った(作っている)

業務で利用しているAWFの更新を、チームメンバーでローテで回しているのだがレポジトリの数が増えてくると大変だ。 私も先日、1つのレポジトリの更新作業担当になったことがあった。「手が空いたらやっておいてね」もしくは「スプリントの狭間くらいでやって…

composer installは早くならないけど意外とそこまで困らないのかもなって思った話

PHP

続き的なもの。 この前、「うまくhackしたらインストール早くなるの?」という話を書いて見た。 魅力あるし、単純に勉強としてcomposerの挙動を知るぞ!!は面白そうなのだけど、「現実問題としてほしいかい?」がある。 あー、まぁ、ほしいけど、「何も知ら…

composer installをめっちゃ早くできるのかな?

php

という話を、社内でしておりました。 「そういえばprestissimoって本体に取り込まれる?とかって話なかったっけ」てな話題となり、PR見てみたら「難がありそ」と。 それが I think that it’s difficult to support conflict, suggest, provide and replace d…

我々はcomposer scriptをもっとカジュアルに使っていってもいいかもねの話②

ふと気付いて実行してみたら便利っぽい使い方ができたので、 前回の続きみたいなエントリー。 daisuki.nichiyoubi.land 自分で使うプロジェクトに関しては、composer でどこからでも叩ける用にDockerfileなんかでパスを通している。 RUN wget http://getcomp…

我々はcomposer scriptをもっとカジュアルに使っていってもいいかもねの話

PHP

composer script というものがある。 Scripts - Composer あまり「自分らが開発しているPJ」において拡張しまくっていたりはしないものの、 これを「当たり前に使う」ようなレベルまで持っていくと、まぁ便利ではあるんだろうな〜とは思う。 もちろん、各種…

phpのマニュアル、意外と例外の使い分けについて丁寧にかかれている気がした

PHP

PHP: 例外 - Manual を見ていて。 例えば UnexpectedValueException クラス ¶ (PHP 5 >= 5.1.0, PHP 7) はじめに ¶ いくつかの値のセットに一致しない値であった際にスローされる例外です。 これが発生する例としては、ある関数が別の関数をコールしていて、…

大変に今更ながらxdebugの「リモートデバッグ」とは何か

PHP

コネクションコールバックが〜とかポートが〜とか。 いんたーねっとに転がっている「xdebug.iniに、こんな風に書いてくれよな!!」というのを丸呑みしている日々が、続いておりました・・・(恥) で、「なんかdockerでリモートデバッグが動かないよ〜><」と…

assertを使いこなす(こなしたい)

PHP

もちろんコレ!のインスパイア!! speakerdeck.com の話で。 プリンシパル・プログラミングにも書いてあったが、改めて意識したい点として「コードは書く時間より読む時間(人、回数)の方が多い」であり。 読み手にフレンドリーである事がとても良い。どうや…

Airbrake Blogの「PHPの例外ってそうだったんだ」シリーズが凄いタメになる

PHP

ブログもっと雑に書いてこ〜みたいな気持ちがしていた次第。メモとか放り込む で、タイトルのとおりだけどAirbrakeが「組み込まれている例外、どういうときに使うもの?」というシリーズがありまして。 これが雑学的な読み物としても面白いな〜と思っていつ…