タグ

ブックマーク / qiita.com/sj-i (3)

  • 「別プロセスの PHP が今何をしているか」を実況するプログラムを PHP で作った - Qiita

    0 fgets <internal>:-1 1 <main> <internal>:-1 0 fgets <internal>:-1 1 <main> <internal>:-1 0 fgets <internal>:-1 1 <main> <internal>:-1 ... 0 time_nanosleep <internal>:-1 1 PhpProfiler\Lib\Loop\LoopMiddleware\NanoSleepMiddleware::invoke /home/sji/work/php-profiler/src/Lib/Loop/LoopMiddleware/NanoSleepMiddleware.php:33 2 PhpProfiler\Lib\Loop\LoopMiddleware\KeyboardCancelMiddleware::invoke /home/sji/

    「別プロセスの PHP が今何をしているか」を実況するプログラムを PHP で作った - Qiita
  • PHP で型付のローカル変数を定義するライブラリを作った - Qiita

    概要 PHP で型のあるローカル変数を定義するライブラリを作った。 誤った型の値を代入しようとすると \TypeError を投げる。 型を書ける奴だから TypeWriter か、とも思ったけど、長かったので Typist という名前にした。 PHP 7.4 以降で利用可能。 インストール use function Typist\int; use function Typist\string; // int 型と string 型のローカル変数を定義 $_ = [ int($hoge_id, 1), string($hoge_name, 'name'), ]; // 渡した値で初期化される assert(1 === $hoge_id); assert('name' === $hoge_name); // int 型の変数へ文字列を突っ込もうとすると TypeError $hoge_id

    PHP で型付のローカル変数を定義するライブラリを作った - Qiita
    n314
    n314 2020/07/22
    型だけチェックするなら、DDDっぽく単一の値を取る class HogeId とか class HogeName とかにして意味も付加するかなあ。
  • PHP の関数実行とその計測(記事版) - Qiita

    今回話す内容は以下です。 1 つは PHP の関数実行の仕組みについて もう1つはその性能計測について PHP で関数というのは、プログラムに行わせる一連の処理のまとまりです。 こんなコードのものですね。 まずはこのコードが処理系によってどう実行されているかの話からです。 Zend Engine の概要 この中に Zend Engine というのを聞いたことがある方はどのくらいいらっしゃいますでしょうか。 (けっこう手が上がる筈) ありがとうございます、では Zend Engine が何のことか、雑になんとなく分かる、という方はどのくらいいらっしゃいますでしょうか。 (けっこう減る筈) ありがとうございます。 Zend Engine は PHP の公式処理系のコア部分です。php.net で配布されている、いわゆる公式処理系です。かつて PHP 4 の頃に、 Zeev さんという人と An

    PHP の関数実行とその計測(記事版) - Qiita
    n314
    n314 2019/07/02
    図が綺麗
  • 1