$30 off During Our Annual Pro Sale. View Details »

PHP5.3からPHP7.0へバージョンアップの裏側

Z.O.E.
February 21, 2018

 PHP5.3からPHP7.0へバージョンアップの裏側

PHPのバージョンアップをサービスの開発と並行して進めるためにどうやったかという話

Z.O.E.

February 21, 2018
Tweet

More Decks by Z.O.E.

Other Decks in Programming

Transcript

  1. PHP 5.3 から PHP 7.0 へ
    バージョンアップの裏側
    Ikezoe.makoto

    View Slide

  2. 池添 誠 / Ikezoe Makoto
    • 2015年、ウィルゲートに新卒入社(3年目)
    • 開発グループ プロダクトユニット所属
    • サグーワークスの開発からインフラまで担当
    2
    自己紹介
    イメージキャラクター
    「さぐる」

    View Slide

  3. 3
    株式会社ウィルゲート – 事業

    View Slide

  4. 4
    株式会社ウィルゲート – 事業

    View Slide

  5. 5
    株式会社ウィルゲート – 事業

    View Slide

  6. 表の話
    • バージョンアップした話
    – Cake 1.3 → Cake 3.2
    – PHP 5.3 → PHP 7.0
    – ブログ記事
    • http://tech.willgate.co.jp/entry/3582/

    View Slide

  7. 裏の話
    • どのように進めていったか
    – チームに対して
    – 事業部に対して
    – 他の開発と並行して進めるための方法
    • バージョンアップして得られたこと

    View Slide

  8. どのように進めていったか
    調査期間
    自主利用 チーム 事業部 PHP 7.0へ

    View Slide

  9. どのように進めていったか
    調査期間
    自主利用 チーム 事業部 PHP 7.0へ
    • 社外での開発でまずは PHP 7.0 を触ってみた
    – まずは自分が体験してみるところから

    View Slide

  10. どのように進めていったか
    調査期間
    自主利用 チーム 事業部 PHP 7.0へ
    • 書き換え箇所の調査
    – 破壊的変更の箇所
    – 書き換えのコストがどれくらいあるか
    • 一括変換できるもの、できないものの洗い出し
    • 新機能の勉強

    View Slide

  11. どのように進めていったか
    調査期間
    自主利用 チーム 事業部 PHP 7.0へ
    • まず説得、一緒に闘う仲間を増やす
    – 戦闘員を増やす
    • 一人で進めるのは大変!バージョンアップは骨が折れる仕事
    • チーム全体で合意が取れてる状態にする
    – チームで円滑に進めるため
    • リニューアルに合わせてあげたいとリーダーに相談

    View Slide

  12. どのように進めていったか
    調査期間
    自主利用 チーム 事業部 PHP 7.0へ
    • 説得材料
    – 利便性(新しい技術)
    • Ex) isset 書かなくていい(`??` null合体演算子めっちゃ楽)
    – 技術的成長
    • 最新バージョンに追従してる、イケてるエンジニア
    • バージョンアップの経験を得られる

    View Slide

  13. どのように進めていったか
    調査期間
    自主利用 チーム 事業部 PHP 7.0へ
    • 工数の確保
    – 安全にバージョンアップするために必要
    – 受けた要望の開発は止めないように工夫して進めた
    – 日頃の関係性も大事

    View Slide

  14. どのように進めていったか
    調査期間
    自主利用 チーム 事業部 PHP 7.0へ
    • 説得材料
    – 事業部(サービス)に対するメリットを知ってもらう
    • 処理速度の向上、品質の担保(テストコードの導入)
    • ライブラリ導入の簡易化(composer 非対応だった)=開発速度の向上
    – より良い開発環境
    • サービスのブランディングにもつながる

    View Slide

  15. どのように進めていったか
    調査期間
    自主利用 チーム 事業部 PHP 7.0へ
    • バージョンアップ用環境と人員の確保
    • Docker を用いて並行開発できるようにした
    • ブランチの管理
    – master ブランチから派生したバージョンアップ用の new-master
    – master から new-master に定期マージして新機能の漏れを防止
    • リリース直前の新機能開発は PHP 7.0 で開発

    View Slide

  16. バージョンアップして得られたこと
    • サービスの成長につながった
    – 開発速度UP
    – 新しい技術・知識の獲得
    – ライブラリなどの対応状況
    • 達成感
    – チームメンバー全員で協力してできた → 信頼関係
    • 勉強会、LTなどのチャンス
    – 社外などでも登壇するチャンスの一つになった

    View Slide

  17. まとめ
    • まずはやってみる。使ってみる。
    • 協力してくれそうな人から説得していく
    • 上長(決定権がある人)に懇願してみる
    • PHP5 系から PHP7 系へアップデートは意外と楽
    • 技術的なもの以外にも得られるものは多い

    View Slide