Page 1
⚡PHP 5.4から8までを
サポートするCIを構築する
Build a CI that supports PHP 5.4 to 8.x
⚡
pixiv Inc.
USAMI Kenta
2023-10-05【Cybozu Tech Meetup #22】PHPカンファレンス 2023 リジェクトコン
公開日:
by USAMI Kenta@tadsan
に東京都中央区日本橋のサイボウズ株式会社 東京オフィス(東京日本橋タワー27階)で開催された『【Cybozu Tech Meetup #22】PHPカンファレンス 2023 リジェクトコン』でライトニングトーク(5分)として発表しました。
2023-10-05【Cybozu Tech Meetup #22】PHPカンファレンス 2023 リジェクトコン
お前誰よ
※注意:本発表はレガシーPHPを使い続けることを推奨するものではございませぬぞ
みなさんライブラリを公開していますか?
そもそも誰が使ってるの?
Packagist Statsについて
私が開発しているライブラリの場合
5.x
7.x
8.x
zonuexe/tetosqlについて
5.x
7.x
8.x
💪
一般論としてはバージョンが上がれば新しい機能や新しい構文が使えて嬉しい!!!
PHPのオブジェクト指向機能
<?php
<?php
class Book {public function __construct(public readonly string $name,) {}
...
class Book {/*** @var string* @readonly*/private $name;/** @param string $name */public function __construct($name) {$this->name = $name;
...
そういうおしゃれな言語機能は使えない!
この後のコードはzonuexe/tetosqlをご参照ください
むかしのバージョンのPHPはどうすれば使えるか
古いPHPを動かす方法
GitHub使ってるならActionsが簡単
これで動かす環境はできた
新しいバージョン使えないと辛くない?
辛いところもあるし辛くないこともある
古いPHPでも新しい関数は使える!
PHP 5.3〜8.2全部が動く都合のいいPHPUnitなんてものはない
PHPUnit4.8をPHP8で動くように魔改造する
😈
PHPUnit4.8をPHP8で動くように魔改造する
😈
もっとよくできたものがある
不思議な力で複数バージョンのPHPUnitが動く
不思議な力で互換性を合わせてくれる
😇
TetoSQLは依存が少ないので複数サポートが簡単
みんなは必要ないバージョンはさくっと切ろうね!
