コップ一杯の水の中の嵐

in Vlog

(CJP) PHP 8 に関する記事を読んだところ、黙って無視することはできませんでした。 はじめて読みたい方は、ぜひチェックしてみてください。

「パーフェクト ストーム」という適切なタイトルで、著者は、PHP 8 へのアップグレードがいかに簡単な道ではないか、そしてオープン ソースのメンテナーが既存のコードベース上で PHP 8 をサポートできるようにするためにいかに苦労しなければならないかについての懸念を表明しています。

PHP 8 が重大な変更を導入していることは否定できません。 特に、共用体型、名前付き引数の追加、およびその結果としてリフレクション API に加えられた変更は、苦痛のように感じるかもしれません。

PHP 8 を「悪夢」と呼び、それを使用できるようになるまでには何年もかかると主張するときに著者が忘れているように見えるのは、PHP 8 がメジャー バージョンであり、問​​題が発生することが許されているということです。 さらに良いことに、それはメジャー リリースの全体的な目的です。

私はこの感情について著者を責めません。それは多くの人々の心の中に生きています。 これは、7.x 時代の長く安定したリリースの副作用だと思います。 私たちは簡単な更新に慣れており、更新が原因でコードが壊れてしまうと大変です。

しかし、問題は PHP の成長と成熟にあるのではなく、開発者や企業が十分に迅速に適応できないことにあります。 ここに残忍な真実があります。PHP 7.4 の有効なサポート期間は 1 年未満です。 2021 年末までに、PHP 8 は (将来の PHP 8.1 と共に) まだ積極的に取り組んでいる唯一のバージョンになります。 君は 必要 乗船しないと、レガシーランドで立ち往生するリスクがあります。 信じられないかもしれませんが、PHP 7.4 は、PHP 5.4 または PHP 5.6 と同じように、完全に時代遅れで、安全ではなく、遅いと認識される日が来るでしょう。

PHP の完全に健全で安定したリリース サイクルの責任を転嫁する代わりに、私たちは自分自身と自分の会社に目を向けるべきです。

あなたがまだここにいて、一緒に乗りたいと思っているなら、いくつかのことについて話し合いましょう あなた レガシーランドに行き着くのを防ぐためにできること。

最初に:適切な方法を学び、使用する ツール. 職人は、自分の道具についての正しい知識がなければ何もできません。 これらのツールには、静的アナライザー、コード フォーマッター、IDE、テスト フレームワーク、および自動アップデーターが含まれます。 アップグレード中に直面するほとんどの問題は、適切なツールを使用するだけで、実際には自動的に解決されます。

あなたがそれに取り組んでいる間、それらのプロジェクトを維持している人々に飲み物を買うことを検討してください。 彼らは数ドルの価値があります。 最近、大規模なプロジェクトを PHP 8 にアップグレードしました。準備と調査に数時間かかり、実際のアップグレードには 2 時間しかかかりませんでした。 それは実行可能です。

次へ: あなたが オープンソースのメンテナー. 同じバージョンで PHP 7 と 8 をすべてサポートする必要はありません。 PHP 8 を主なターゲットとして採用し、問題がなければ 7.4 をサポートしてください。 古いバージョンを積極的にサポートする必要がある場合は、別のブランチをサポートする必要があります。

PHP 8 に対して多くの人が行っている「オープン ソースの議論」について私を困惑させているのは、古いタグが問題なく機能し続けることを彼らが忘れているように見えることです。 コードの使用が禁止されているのは、コードが積極的に保守されなくなったからではありません。 ユーザーが古い PHP バージョンを本当にサポートする必要がある場合は、古いバージョンのパッケージを使用してもらいます。 それらの古いバージョンに欠落している重要な機能がある場合、彼らは自由にパッケージをフォークして、それでやりたいことを何でもできます。 アクティブな PHP バージョンのみをサポートすることを妨げるものは何もないはずです。 どちらかといえば、ユーザーの大多数に迅速なアップグレードを奨励しているということです。つまり、PHP コミュニティに好意を持っているということです。

最後に、あなたがいるなら 管理または会社の運営: 古いバージョンの PHP を使い続けると、最終的には常にお金を失うことになります。 コードベースの更新を毎年延期すると、追いつくのが難しくなり、時間がかかります。 古いバージョンで重大なセキュリティの問題が発見されたときに何が起こるか想像できますか? それに加えて、本当にお金に見合う価値のある従業員は、あなたのレガシープロジェクトに永遠に固執することはありません. あなたが彼らを幸せにしないと、いつの日か彼らは新しい機会をつかむでしょう. 最新の状態を維持していない場合は、最終的に失うことになります。

プロの開発者であることの一部は、この種の状況に対処できることです。 確かに、私はそれらの時間を別の更新に費やしたいと思っていますが、長期的には多くの喜びのための小さな投資であることは知っています.

否定的な考えに引きずられるのではなく、PHP という成熟した言語を受け入れて、それに沿って進んでください。 後悔することはありません。

関連記事

前の投稿
PHP 8.1: 列挙型
次の投稿
シルバーフィッシュのように見える5つのバグ