ããã«ã¡ã¯ãä»å°æ¯ç¤¾ã®ããããã§ãã
ã¤ã³ãã£ãããã«ã¼ãã¯ä¼ç¤¾ã¨ãã¦ãå
æ¥è¨ç«ããã The PHP Foundation ã«ãããããªããå¯ä»ããã¾ããã
PHP åä½è ã®Â Rasmus Lerdorf ããã¨Â Laravel åä½è ã®Â Taylor Otwell ããã¨Â JetBrains ããã¨ãããããããåãç»é¢ã«ããã¾ã£ã¦è¦ããã®ã¯ããã¶ãä»ã ãâ¦â¦ï¼
PHP åä½è ã®Â Rasmus Lerdorf ããã¨Â Laravel åä½è ã®Â Taylor Otwell ããã¨Â JetBrains ããã¨ãããããããåãç»é¢ã«ããã¾ã£ã¦è¦ããã®ã¯ããã¶ãä»ã ãâ¦â¦ï¼
TL;DR
ãã®è¨äºã§ã¯ã以ä¸ã®å 容ã«ã¤ãã¦è¿°ã¹ã¦ãã¾ãã
- PHP ã¯ä¸»è¦éçºè ãæããä»å¾ã®ããã« Foundation ãä½ãã¾ãã
- å¼ç¤¾ã¯æ¯æ´ãè¡ãã¾ãã
- ç¶ç¶ç㪠PHP ã®æé·ã®ããã«ã¿ãªããã®ä¼ç¤¾ã§ãå¯ä»ãèãã¦ããã ãã¾ããã
çµç·¯ãªã©
æ¥æ¬æé㧠11 æ 23 æ¥ã®åå 2 æé ãJetBrains ã® The PhpStorm Blog ã«ã¦ãä»¥ä¸ 2 ã¤ã®Â PHP ã«ã¨ã£ã¦é大ãªçºè¡¨ãè¡ããã¾ããã
- Nikita Popov (nikic)ããã 12 æããæ´»åã®ä¸»è»¸ã PHP ãã LLVM ã«ç§»ããã¨
- ãããå¥æ©ã¨ãã¦ã®Â The PHP Foundation ã®è¨ç«
ãã® 2 ã¤ã®äºä»¶ã«ãããPHP ã¯ããã°ã©ãã³ã°è¨èªã¨ãã¦å¤§ããªè»¢æ©ãè¿ãã¦ãã¾ãã
å¼ç¤¾ã¤ã³ãã£ãããã«ã¼ãã¯ããã¦ãã PHP ãæ¥åã§ä½¿ç¨ãã¦ãã¦ãããPHP ã®è¨èªã¨ãã¦ã®çºå±ã¨ç¶ç¶ã«ãã®å©çãããç¨åº¦ä¾åãã¦ãã¾ããé義çãªå´é¢ã§ããã種ã®æè³çãªå´é¢ã§ããå
ã
ä½ããã®å½¢ã§ã³ãã¥ããã£ã¸å©çãéå
ãã¹ãã¨ããèªèã¯ããã¤ã¤ãPHP ã¨ããè¨èªèªä½ã¸é©åãªå½¢ã§éå
ãè¡ãæ¹æ³ãåãããªãã§ãã¾ãããThe PHP Foundation ã®è¨ç«ã«ãããä»åãã®åé¡ã解æ¶ããããã§ãã
ããããå¼ç¤¾ä¸ç¤¾ã®æ¯æ´ã ãã§ãã¾ã大ããç¶æ³ãåãããã§ã¯ããã¾ãããã§ããã° PHP ã«ãã£ã¦å©çãå¾ã¦ããå¤ãã®åæ¥ä»ç¤¾ãåæ§ã«ããããã¯ãã以ä¸ã®å¯ä»ãè¡ããã§ããã ãå¤ãã®é¡ãéã¾ã£ã¦ãããã°ã¨ããã¨èãã¦ãã¾ãã
ãã§ã«ããã¤ãã®ãã¥ã¼ã¹ãµã¤ãã§ä»åã®ä»¶ã«ã¤ãã¦è§¦ããè¨äºãåºã¦ããã¨ããã§ãããåé¡æèãåºãå
±æããããããããã㦠Nikita ããã PHP ã®éçºä½å¶ãThe PHP Foundation ã®æ義ã«ã¤ãã¦å°ã解説ãã¦ã¿ã¾ãã
Nikita Popov ããã«ã¤ãã¦
PHP ã®éçºä½å¶ã«ã¤ãã¦ããç¥ããªã人ãããªã Nikita ããã¨ãã人ã®ååãããã»ã© PHP ã«ã¨ã£ã¦é大ãªã®ãããèªèããã«ã¯ãã¾ãããæ°å¹´ã®Â php-srcï¼PHP å
¬å¼å¦ç系㮠GitHub ãªãã¸ããªï¼ã®ã³ã³ããªãã¥ã¼ã·ã§ã³ã°ã©ããè¦ãã®ãããã§ãããã
ãã®ããã«åç´ãªã³ãããæ°ã ãããããNikita ããããã®ç´ 10 å¹´ã®ç´¯è¨ã§ãããã®ã³ã³ããªãã¥ã¼ã¿ã§ãããã¨ãåããã¾ããç¹ã«å½¼ã大å¦åæ¥å¾ 2019 å¹´ 1 æã«Â JetBrains ã«å å
¥ããæ¥ä¸ã®ä»äºã¨ã㦠PHP ã®éçºãè¡ãå§ãã¦ããã¯ãççºçã«è²¢ç®éãå¢ãã¦ããã®ãè¦ã¦ã¨ãã¾ãã
ã³ãããæ°ã ããè¦ã¦ããå®éçãªè²¢ç®åº¦ã¨ã©ãã ãé¢ä¿ããããã¯çããããã¨å·éã«èãã人ãããããããã¾ãããå®ã®ã¨ããããã®å§åçãªã³ãããæ°ããå½¼ã®æ¬å½ã®å½±é¿åãããä¸é¨ãã表ãã¦ããªãã¨ããæå³ã§ããã®ç念ã¯æ£ãããã®ã§ãã
Nikita ãã㯠2011 å¹´ãé«æ ¡çã®é ï¼å½æ㯠16 æ³ã ã£ãçã§ãï¼ã«Â PHP 㧠PHP ã®ãã¼ãµãä½ãå
¬éãã¾ããããªããã®Â PHP-Parser ã¯ãç¾å¨Â Psalm ã PHPStan ã®ãããªéç解æãã¼ã«ã®åºç¤ã©ã¤ãã©ãªã¨ãªã£ã¦ãã¾ãã
ããã°ã©ãã³ã°è¨èªã¨ãã¦ã® PHP ã«é¢å¿ãæã¡ãç¿å¹´ 2012 å¹´ã«ã¯ php-src ã®éçºã«é¢ããã¯ããã¦ãã¦ãä¾ãã° PHP5.5 ã§å°å
¥ãããã¸ã§ãã¬ã¼ã¿ã®Â RFC 起èã¨åæå½¢æã¾ã§ã®è°è«ãå®è£
 ããã®é ã®å½¼ã«ãããã®ã§ããã¸ã§ãã¬ã¼ã¿ã¯å
ã
 PHP ã«ããéåæå¦çã®å®è£
ãè¦éã«å
¥ãã¦éçºããããã®ã§ãå¾ã«Â ReactPHP ã Amp ã®ãããªéåæå¦çã©ã¤ãã©ãªããã®ã³ã³ã»ãããå®ç¨ã¬ãã«ã§å®ç¾ãããPHP 8.1 ã§Â Fiber ãå°å
¥ãããæµãã«ãã¤ãªããã¾ããã
ããã¾ã§å½¼ã«ãã£ã¦æ°å¤ãã®ææ¡ã¨ãã®å®è£
ã PHP ã¸åãè¾¼ã¾ãã¦ãã¦ãããPHP 7.0 ã§ã®Â AST åãå
¥ããæ§æã®æ´çãæ§æ¥ããã®ä¸åçãªä»æ§ã®å»æ¢ãPHP 7.4 ã§ã®åä»ãããããã£ãã¢ãã¼é¢æ°ãPHP 8.0 ã§ã®ååä»ãå¼æ°ã«ã³ã³ã¹ãã©ã¯ã¿ããããã£ããã¢ã¼ã·ã§ã³ãUnion åãªã©ãéè¦åº¦ã®é«ãå¹¾ã¤ãã®å¤æ´ãæãéãããã¾ãããPHP 8.1 åãã§ã 25 ã® RFC ã®ãã¡Â readonly ããããã£ãåæåå¼ã§ã® new ãå«ã 9 ã¤ã® RFC ãéããã¾ãã¤ãå
æ¥ PHP 8.2 åãã§ãåçããããã£ã®éæ¨å¥¨åã¨ããã¤ã³ãã¯ãã®å¤§ããªææ¡ãå¯æ±ºã«æã¡è¾¼ãã§ãã¾ãã
å½¼ã®ææã¯ã³ãããã RFC ã¨ãã¦è¦ããåããããããã®ã ãã§ã¯ããã¾ãããæ
å ±ãå°ãªã PHP ã®å¦çç³»å
é¨ã«ã¤ãã¦å人ãµã¤ãã PHP Internals Book ãªã©ã§å¹¾ã¤ãã®æ
å ±çºä¿¡ãè¡ã£ã¦ããã»ããæ¥ã
ä»ã®éçºè
ã®å¤ãã® PR ã RFC ãã¬ãã¥ã¼ããã¡ã¼ãªã³ã°ãªã¹ãä¸ã®ã³ã¢éçºè
å士ã®è°è«ã§ãé©åãªææãå©è¨ãç¶ãã¦ãã¦ãã¾ããPHP 8.0 ã§å°å
¥ãããJITã¯Dmitry Stogovããã¨ããå¤ãããã®éçºè
ã«ããå®è£
ããããã®ã§ããã常é£ã®ã³ã¢éçºè
ã®ä¸ã§ã JIT é¨åã®ä¿®æ£ã«ããç¨åº¦ã®ã¬ãã¥ã¼ãã§ãã人ã¯ãã¾ã Nikita ãã以å¤ã«ã»ã¨ãã©ãã¾ããã
PHP ã®ã³ã¢éçºè
ã®ä¸äººã§ããapcuãpcovãparallelã¨ãã£ãæ¡å¼µã®ä½è
ã§ããã Joe Watkins (krakjoe) ããã¯ãä»æ¥ã® PHP ã®ãã¹ä¿æ°ï¼ã¡ã³ãã¼ã®ä½äººããã¹ã«è½¢ãããã¨ããã¸ã§ã¯ããç ´ç¶»ããããã¨ããå±äººæ§ã«é¢ããç©é¨ãªææ¨ï¼ã¯Â ãã£ã 2 ã§ããã¨ãã¦ããã2 人ã®ãã¡ã® 1 人ã¨ã㦠Nikita ãããæãã¦ãã¾ãï¼ãã 1 人㯠Dmitry ããï¼ãPHP ã® RFC ãèç©ãã PHP.net Wiki ã«ã¯ãNikita Popov ã PHP ã³ã¢ã«ãã¼ã¸ãããã¨ããã¸ã§ã¼ã¯ RFC ããåå¨ãã¦ãã¾ãã
ããã¦ããªããªãã° PHP ã¨ããããã¸ã§ã¯ããç ´ç¶»ãããã¨åæãããã¦ããã¾ãã«ãã®éè¦ãª 1 人ããå®éã«ããªããªãã¯ããªãã¾ã§ããæ´»åè¦æ¨¡ã大ãã縮å°ãããã¨ãã¦ããããã§ããNikita ããã¯ä»¥åãã Rust ã LLVM ã®éçºã«ãåå ãã¦ãããä»ç¾å¨ã¯ LLVM ã®æ¹ã«é¢å¿ãããããã§ããNikita ããã¯ããããããããã«ãã£ã¦ããã ãã®ãä¸ã®ãã人ã®ããã«ãªãã¨ãã¦ãåé¡ãªã®ã¯ãã®ã¾ã¾ã 㨠PHP ã®éçºãä¸å
·åä¿®æ£ã®é度ã大å¹
ã«ä½ä¸ããã ãããã¨ãããã¨ã§ãã
PHP ã®éçºä½å¶ã¨éçºè ã®æ¥ä¸ã®ä»äº
PHP ã®éçºã¯ã³ãã¥ããã£ã«ãã¨ã¥ãã¦ãã¾ããRasmus Lerdorf ããã 1995 å¹´ã«å
¬éãããªã¼ãã³ã½ã¼ã¹ããã¸ã§ã¯ãã¨ãã¦å¤ãã®éçºè
ãåå ãã¦ãã¾ãããPHP 5.4 ã®é ã«Â RFC ããã»ã¹ã¨å¼ã°ããæ°ä¸»çãªææ決å®ããã»ã¹ãå®ããããPHP ã¸ã®æ©è½è¿½å ãªã©ã®å¤§ããªä¿®æ£ã¯Â RFC (Request for Comments) ã®èµ·èã¨åç¥ã2 é±é以ä¸ã®è°è«ã¨ã³ã¢éçºè
ã«ããæ票ãå¿
è¦ã¨ããã¦ãã¾ããPHP ã®ãã¼ã¸ã§ã³ç®¡çã·ã¹ãã ã¸ã®ã³ããã権ãæã¤ã³ã¢éçºè
ããæ¢åã®ã³ã¢éçºè
ããç¹ã«èªããããè
ãå 1 票ã®æ票権ãå¾ãããæ票ã®å¯æ±ºã«ã¯ 2/3 以ä¸ã®è³æãå¿
è¦ã§ãããã¼ã¸ã§ã³ç®¡çã·ã¹ãã ã¸ã®ã³ããã権ã¯ãç¶ç¶çã« php-src ã¸ããããéããªã©ãã¦ããã¨ã³ã¢éçºè
ããåå¥ã«å£°ããããã¾ãï¼ä¾ï¼ã
å¤ãã®éçºè
ã¯æ¥ä¸ã«å¥ã®ä»äºãæã¡ã¤ã¤ãPHP å¦çç³»ã®éçºã¯å人ã®æéã§åãçµãã§ãã¾ããããã RFC ã®èµ·èãåæå½¢æãå®è£
ã¯å¤ãã®æéãè¦ããä½æ¥ã§ãã
ããã§2018 å¹´ããç¾å¨ã¾ã§ã®ã³ã³ããªãã¥ã¼ã·ã§ã³ã°ã©ããè¦ã¦ã¿ã¾ããããã³ãããæ° 1 ä½ã® Nikita ãã㯠JetBrains ã«ã¦ãã«ã¿ã¤ã 㧠PHP ã®éçºã«åãçµã¿å§ããã¾ã§ãã³ãããæ°ã®é¢ã§ï¼å¤ãã¯ããã®ã§ããï¼ä»ã»ã©ã®ã¤ã³ãã¯ãã¯ããã¾ããã§ããã2 ä½ã® Dmitry ããã¯Â Zend by Perforce ã®å¾æ¥å¡ã¨ãã¦ãæ¥ä¸ã®ä»äºã¨ã㦠PHP ã®ã¨ã³ã¸ã³éçºã«åãçµãã§ãã¾ãã3 ä½ã®Â Christoph M. Becker (cmb69) ãã㨠4 ä½ã®Â Anatol Belski (weltling) ããã¯ã©ã¡ãã Windows ç¨ PHP ããã«ããããã¼ã ã®ã¡ã³ãã¼ã§ããå¾è
ã® Anatol ãã㯠Microsoft ã«æå±ãã2018 å¹´ã¾ã§ã¯PHP on Windows and Azure ã«ã¦ãæ¥ä¸ã®ä»äºã¨ã㦠Windows ç¨ã®ä¸å
·åä¿®æ£ãªã©ãä¸å¿ã«æ´»çºã«æ´»åãã¦ãã¾ãããä¸æ¹ã2019 年以éã¯æããã« php-src ã§ã®æ´»åéãè½ã¡ã¦ãã¾ããå
¥ãæ¿ããããã«ã³ãããã®å¢ãã¦ãã Christoph ããã«ã¤ãã¦ã¯ãã¤ãå¨ä½ã¨ãã以å¤ã®æ
å ±ãããã¾ããããæ¥é ã®ã³ãããæ¥æãããã¯ãæ¥ä¸ã®æé帯ã«æ´»åãã¦ãããã¨ãå¤ãããã§ãã
å½ç¶ã®ãã¨ã§ã¯ããã®ã§ãããPHP ããã¸ã§ã¯ããè¨èªèªä½ã®éçºãã©ãã ãé²ãããããã«ã¯ããã®ããã«åéçºè
ãã©ã®ãããã®æéãæå
¥ã§ãããã大ããå½±é¿ãã¾ããä¼æ¥ã®æ¥ä¸ã®ä»äºã¨ãã¦éçºãè¡ãããå°æ°ã®éçºè
ã¸ã®ä¾å度ã大ãããã¨ããè¦æ¹ãã§ãã¾ãããéã«ãã以å¤ã®ã³ã¢éçºè
ãã©ãã ããã©ã¤ãã¼ãã®æéãæå
¥ã§ãããã¸ã®ä¾å度ã大ãããã¨ããè¦æ¹ãã§ããã§ããããã©ã¡ãã«ãããããã»ã©ã¾ã§ã«å¤§ããæé·ããä¸çã®æ²¢å±±ã®ä»äºã人ã
ã®çæ´»ãæ¯ããè¨èªã¨ãã¦ã¯ãã¾ãå¥å
¨ã§ãªãç¶æ
ã ã£ãã®ã§ãã
The PHP Foundation è¨ç«ã®æ義ã¨ããããã® PHP
ãã®åé¡æèã¯ããã¦ããä½äººãã®ã³ã¢éçºè
ã®éã§å
±æããã¦ãããPHP ã®ã³ã¢éçºãç¶ç¶çã«è¡ã£ã¦ããããã®åºéãè¨ç«ããæ¡ãæ£çºçã«ææ¡ããã¦ãã¦ãã¾ãããããããã®å®ç¾ã«ã¯ã³ãã¥ããã£ã§ã®åæãäºåç / æ³çãªæç¶ããªã©ãä½ãå¿
è¦ããæããã«ããªããä¸ã¤ä¸ã¤ã¯ãªã¢ãã¦ããåãçµã¿ãå¿
è¦ã§ãããã¯ãããããå人ããã©ã¤ãã¼ãã®æéãæãã¦è¡ãã«ã¯è² æ
ã®å¤§ããªä»äºã§ãã
PhpStorm ã®è²©å£²ã«ãã PHP ã¨ããè¨èªã®çºå±ããå©çãå¾ã¦ãã JetBrains ã«ã¨ã£ã¦ãNikita ãããéãã¨ããå½¢ã§è¨èªãã®ãã®ã®éçºãæ¯ããã®ã¯æ¥µãã¦åççã§å»ºè¨çãªå¤æã ã£ãã¨è¨ãã¾ãããã® Nikita ãããé¢å¿ã®ç§»è¡ã«ä¼´ã£ã¦æ´»åè¦æ¨¡ã縮å°ããã¨ãªã£ãæãããæç¶æ§ã®ããæ¯æ´ã®å½¢ãæ§ç¯ã§ãããã JetBrains ã®äººã
ãç²¾åçã«åãçµãã ã®ã¯ãPHP ã«ã¨ã£ã¦æ¬å½ã«ç´ æ´ããããã¨ã§ããã
Nikita ããã®ä»£ããã¨ãªããããªéçºè
ã¯ãããç°¡åã«è¦ã¤ãããã®ã§ã¯ããã¾ããã16 æ³ãã 10 å¹´é PHP ã®è¨èªãã®ãã®ã«ç¬¬ä¸ç·ã§åãçµãã§ããããªã©ã¨ãã人ã¯ã彼以å¤ã«ä¸çä¸æ¢ããã£ã¦è¦ã¤ããã¯ããªãã®ã§ããããã The PHP Foundation ãå¤ãã®è³é調éã«æåãã1 人ã§ã¯ãªãè¤æ°ã®éçºè
ãããã«ã¿ã¤ã / ãã¼ãã¿ã¤ã ã§æ¥ä¸ã®æéã使ããããã«ãªã£ãã¨ããã°ã©ãã§ãããã
ä¾ãã° PHP 8.0 ã«Â match å¼ã¨Â nullsafe æ¼ç®åãthrow å¼ããããããPHP 8.1 ã®Â Enum ã§ããã®å®è£
é¢ãæ
å½ãã Ilija Tovilo ããã®ãããªäººã
ãè¤æ°ç¾ããããå¤ãã®æéãæå
¥ã§ããããã«ãªãã¨ãããï¼
å¼ç¤¾ãä¸åº¦ 2,000 USD ãå¯ä»ããã ãã§ã¯ç¶æ³ã¯å¤§ããå¤ããã¾ããããåæ§ã«ç¶æ³ãèªèãã¦å¯ä»ãè¡ãä¼æ¥ã 100 社ãéã¾ãã°ã話ã¯å¤ãã£ã¦ããã¾ããWeb ã®ç´ 8 å²ãæ¯ããã¨è¨ããã PHPããã® PHP ã«ãã£ã¦å©çãå¾ã¦ããå¤ãã®ä¼æ¥ã®ããä¸é¨ãããã®å©çã®ããä¸é¨ã PHP ã¸éå
ããã°ã話ã¯ã¾ãã§éã£ããã®ã«ãªãã®ã§ããããã¾ã§ãããã£ã¨æç¶çã«ãããã¾ã§ãããã£ã¨éãçºå±ãå¾ããããã¨ã«ãããªãå¾ã¾ãã
ãã¡ãããæ¯æ´ãå¿
è¦ã¨ããããã¸ã§ã¯ãã¯ä¸çã«ãããã§ããããå社ã®äºç®ã¯æéã§ããã©ãã«ã©ããéã使ãã¹ããã¯ãå社ããããã«å¤æåºæºããããã¨ã§ãããããã ä¸ã¤è¨ããã®ã¯ãæã
㯠PHP ã«ãã£ã¦ãã§ã«å¤ãã®å©çãå¾ã¦ãã¦ããã® PHP ã¯ãä»ãå©ããæ±ãã¦ãããã¨ãããã¨ã§ãã
è¨èªãåã«å»ãããã¨ãè¦æããããã¨ããæã«ã¯äººå¡ãããã¸ã§ã¯ãã®è¨èªç§»è¡ã³ã¹ããæ¯æããã¨ãæ¤è¨ããããå¨å²ã¸ã®å調ãå¼ã³ããã¤ã¤ãç¡çã®ãªãç¯å²ã§ä¸å®ã®æè³ãè¡ãããªã¹ã¯ãæå°åãããã¨åãããããããã® 2 ã¤ã®é¸æè¢ã¯æ±ºãã¦æä»çãªãã®ã§ã¯ãªãã両æ¹ãé¸ã¶ãã¨ã ã£ã¦ã§ãã¾ãã
ããããªããä¼æ¥ã«æå±ãã¦ãã¦ãæå±å
ã®äºç®é
åã«è£éãæã¤ç«å ´ã«ãããªããã©ããªå¯¾å¿ãæãèªç¤¾ã®å©çã«å³ãããã®ã¨ãªãããå°ãã ãèãã¦ã¿ã¦ãã ããããããã®ç«å ´ã«ãªãã¨ãã¦ããããç¾ç¶ã®èªç¤¾ã®å¯¾å¿ã«åé¡ãæããããã§ããã°ãè£éãæã£ã¦ãã人ãåããæ¹æ³ããªããããå°ãã ãèãã¦ã¿ã¦ãã ããã
ãããã«
æ ªå¼ä¼ç¤¾ã¤ã³ãã£ãããã«ã¼ãã§ã¯ãä»å°ãæå¹ã¨ãã£ãå°åã«æ ¹å·®ãã¤ã¤ãä¸çã®ä¸ã§èªåãã¡ã«ä½ãã§ããããèãã¤ã¤ãã¨ã³ã¸ãã¢ã¨ãã¦ã®è
ããµããããæ¹ãåéãã¦ãã¾ãã
詳ããã¯ãã¡ãã®æ±äººè©³ç´°ãã覧ãã ãããâãæ¡ç¨æ å ±ãã¼ã¸Â ï¼ä»å°æ¯ç¤¾ç¹è¨ãã¼ã¸ã¯ãã¡ãï¼
詳ããã¯ãã¡ãã®æ±äººè©³ç´°ãã覧ãã ãããâãæ¡ç¨æ å ±ãã¼ã¸Â ï¼ä»å°æ¯ç¤¾ç¹è¨ãã¼ã¸ã¯ãã¡ãï¼