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
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 リジェクトコン
お前誰よ
emacs-php
このトークの文脈
今回のお題
※注意:
本発表はレガシーPHPを 使い続けることを推奨する ものではございませぬぞ
みなさんライブラリを
公開していますか?
(たぶんあまり居ないと思うので)
しましょう
PHPどこまで切るか
そもそも誰が 使ってるの?
数を見てみよう
Packagist Statsについて
私が開発している ライブラリの場合
5.x
7.x
8.x
zonuexe/tetosqlについて
5.xが全滅したので
サポート終了の判断が
できる
5.x
7.x
8.x
サポート対象の決め方
💪
一般論としてはバージョンが上がれば
新しい機能や新しい構文が使えて嬉しい!!!
PHPのオブジェクト指向機能
<?php <?php
class Book { class Book {
/** public function __construct(
* @var string public readonly string $name,
* @readonly ) { */ }
private $name;
...
/** @param string $name */
public function __construct($name) {
$this->name = $name;
...
そういうおしゃれな
言語機能は使えない!
ここから本題
この後のコードは
zonuexe/tetosqlを
ご参照ください
むかしのバージョンの
PHPは
どうすれば使えるか
古いPHPを動かす方法
GitHub使ってるなら
Actionsが簡単
これで動かす 環境はできた
新しいバージョン
使えないと辛くない?
辛いところもあるし 辛くないこともある
Polyfillを使おう
古いPHPでも
新しい関数は使える!
問題はPHPUnit
PHP 5.3〜8.2
全部が動く都合のいい
PHPUnitなんてものはない
ならどうするか
PHPUnit4.8を
PHP8で動くように
魔改造する
😈
PHPUnit4.8を
PHP8で動くように
魔改造する
😈
メンテが… つらい…
もっとよくできた
ものがある
不思議な力で
複数バージョンの PHPUnitが動く
不思議な力で
互換性を
合わせてくれる
😇
まとめ
TetoSQLは依存が
少ないので複数 サポートが簡単
みんなは
必要ないバージョンは
さくっと切ろうね!
