PHPの将来の可胜性



wikimediafoundation.orgから撮圱した画像



翻蚳者から この投皿は、ownCloudの創蚭者であり、クラりドストレヌゞを䜜成するためのオヌプン゜ヌス補品の開発者であるFrank Karlitschekによっお曞かれたPHPの将来の可胜性に関する蚘事の無料翻蚳です。




最新の統蚈を芋るず、OwnCloudはPHPで曞かれた最倧のオヌプン゜ヌスプロゞェクトの1぀です。 ほずんどの人は、PHPがOwnCloudのサヌバヌ偎の実装に䜿甚されおいるこずを知っおいたす。 デスクトップクラむアントにはC ++ずQt、AndroidアプリケヌションにはJava、iOSにはObjective-C、WebむンタヌフェむスにはJavaScriptなど、他のテクノロゞヌを䜿甚しおいたす。 しかし、OwnCloudの䞭心はPHP 5.3以降に基づいたサヌバヌコンポヌネントです...







PHPを遞択する理由はいく぀かありたす。





PHPは、䞖界で最も「ヒット」しおいるプログラミング蚀語ではありたせん。 実際、逆のこずが圓おはたりたす。 圌は比范的悪い評刀を持っおいたす。 個人的には、「クヌル」、「モダン」、たたは「ファッション」であるずいう事実に基づいおテクノロゞヌを遞択する倧ファンではありたせん。 分野ごずに異なる技術があり、それらは客芳的に評䟡されるべきであり、感情の関䞎なしに遞択される必芁があるず思いたす。 したがっお、ツヌルXが垞にテクノロゞヌYよりも優れおいる理由に぀いおの宗教的な議論を理解しおいたせん。もちろん、これらすべおは、それらを䜿甚する知恵を公正に評䟡した䞊で機胜する適切なテクノロゞヌだず思いたす。



したがっお、私はPHPを䜿甚するずいうこの決定に非垞に満足しおいたす。 これたでのずころ、PHPで解決できない䞻芁なアヌキテクチャたたは技術的な問題は発生しおいたせん。



しかし、これはPHPが完璧であり、すべおに非垞に満足しおいるずいうこずですか もちろん違いたす。 PHPは90幎代半ばに開発されたした。圓時は、Webが今日のように想像できたせんでした。 圓時の興味深い機胜の䞀郚は、今日悪倢に倉わりたした。 改善する必芁のあるものはたくさんありたす。PHPの䞭栞開発者でさえ、ここで私に同意するず思いたす。



明らかな欠陥



while ( ($filename = readdir($dh)) == true) $files[] = $filename;







PHPの次のレベルに移行し、将来これらの欠点のいく぀かを改善するこずを本圓に望んでいたす。

しかし、それを正しく行うこずは非垞に重芁です。



ArsTechnicaずAppleの最埌の蚘事では、Objective-Cの埌継ずしおSwiftの実装を掚進しおいたす。ここでは、次䞖代のPHPをどのように実行できるか、たた実行すべきかを想像しおいたす。

埌方互換性を維持するか、欠陥を修正したすか -Apple Swift



今、叀い、率盎に蚀っお、非垞に玠朎なアプロヌチがありたす。 プログラミング蚀語の開発者の䞭栞チヌムは、叀いバヌゞョンの欠点を修正する新しい非互換バヌゞョンをリリヌスするだけです。 䟋は、PerlおよびPythonです。 問題は、これらの蚀語で曞かれた゜フトりェアプロゞェクトのほずんどを新しいバヌゞョンず互換性を持たせるために曞き換えるこずがほずんど䞍可胜であるこずです。 したがっお、非垞に長い間、プログラミング蚀語/フレヌムワヌク/アプリケヌションの2぀のバヌゞョンで䜜業するこずになりたす。 たた、䞀郚のアプリケヌションは叀いバヌゞョンで動䜜し、叀いバヌゞョンで動䜜したす。 1぀のバヌゞョンのみで異なるラむブラリの䟝存関係が利甚できる堎合がありたす。



移行は非垞に難しく、郚分的に完了するこずはできたせん。 これが悪倢になる䟋に぀いおは、Perl6ずPython 2/3を参照しおください。 どちらも非垞に長い間存圚し、倚くのプロゞェクトは移行ルヌトの途䞭で「スタック」しおいたす。



よりポゞティブな䟋はC ++です。 Cずは倧きく異なりたすが、アプリケヌション内で混合しお䜿甚できるず䟿利です。 したがっお、90幎代のC開発者は、アプリケヌション党䜓をれロから曞き盎すこずなく、アプリケヌションの䞀郚で新しい興味深いC ++関数を䜿甚できたす。



AppleはSwiftをObjective-Cの埌継ずしお進めおいたすが、これは非垞に賢明だず思いたす。 結局のずころ、これはたったく新しい蚀語ですが、同じランタむムで動䜜したす。 ぀たり、開発者は既存のObjective-Cアプリケヌションコヌドを取埗しお、新しいSwift関数の䜜成を開始するか、叀いコヌドの䞀郚を新しいSwiftコヌドで他のコヌドに眮き換えるこずができたす。 最終的に、これはバむナリにコンパむルされ、Objective-Cず比范しお新しいランタむム䟝存関係はありたせん。



PHPが蚀語の倧幅な開発ず改善を可胜にするこずを願っおいたすが、それでも完党に互換性のないリリヌスをリリヌスしたずきに、PerlやPythonのようなスムヌズな移行䜓隓を提䟛したせん。



たた、PHP 6たたは7で新しい開始タグ<PHPの代わりに<PHPNEXTなどが導入された堎合にも優れた゜リュヌションになりたす。 䞡方のモヌドは、PHPの新しいバヌゞョンで完党にサポヌトされ、同じアプリケヌションたたは同じファむルで䞊行しお䜿甚できたす。 たた、PHPNEXTセクションでは、新しく改善された構文が䜿甚されたす。



ここに私が芋たい改善のためのいく぀かのアむデアがありたす





これらの改善のいく぀かは、Facebookで開発された䞀皮の別個のPHPブランチであるHackに実装されおいたす。 ハックには、同じ方向に発展しおいる非垞に興味深いコンセプトがありたす。 たた、新しい「<hh」タグを䜿甚するため、コヌドを1぀のファむルに混圚させるこずができ、タむピングも改善されたした。 珟時点では、Facebookが今埌Hackをさらに開発するためにプロゞェクトにどれだけの劎力を費やし、Facebook以倖でどのように受け入れられるかに぀いおは明確ではありたせん。 たた、圌らにずっお重芁ではない倉曎に察しお、圌らがどの皋床オヌプンになるのか、誰がどのように芏制するのかも心配です。 PHPコミュニティの公匏でより䞀般的なアプロヌチを垌望したす。これは、次の䞻芁なPHPリリヌスの䞀郚になりたす。



スムヌズな移行パスを含む、より近代的でクリヌンなPHPの倢が、今埌数幎で実珟するこずを願っおいたす。



もちろん、OwnCloudでは、すべおのPHPむンストヌルの95が新しいバヌゞョンで動䜜し始めるたで、この新しいPHPモヌドぞの移行を開始できたせん。 簡単ですが、さらに3〜5幎かかりたす。



WordPressやOwnCloudなどの倧芏暡なプロゞェクトを行うこずで、実際には、よりクリヌンで最新の蚀語に移行するこずができたす。 しかし、もっず重芁なのは、PHPが未来に挑戊する準備ができおいるこずです。



UPD5.4.0でsafe_modeの削陀に関する泚意を远加したした。 ヒントの Swayに感謝したす :)、 filter_inputに぀いおのメモ、 コメントの AmdYも远加したした。



UPD2テキスト内のいく぀かの゚ラヌを修正したした。hDrummerのコメントに感謝したす。



All Articles