ã¤ã³ãã£ãããã«ã¼ãä»å°æ¯ç¤¾ã®ããã°ã©ãã¼ãããããã§ãã
PHP çéã®æ°ã«ãªã£ããã¨ãã¾ã¨ããæä¸ãããã§å®®åçä»å°å¸ãããéããã¾ãã
ååã«å¼ãç¶ãã主ã«æè¿Â GitHub ã§è¦ããã¦æ°ã«ãªã£ã PHP ããã¸ã§ã¯ãããPHP ã®è¨èªéçºè
ã¡ã¼ãªã³ã°ãªã¹ãã§ãã internals ã®è°è«ãªã©ãã¤ã¾ã¿é£ããã¦ç´¹ä»ãã¾ãã
â» ãªããç»åã®PHP ãã´ã¯ä½è
ã® Colin Viebrock ããã«ãã£ã¦ãªãªã¼ã¹ãããCC BY-SA 4.0 ã§ã©ã¤ã»ã³ã¹ããã¦ãããã®ã§ãã
GitHub ã§è¦ãããããã¸ã§ã¯ã
- ã½ããã¦ã§ã¢ã®ãªãªã¼ã¹ä½æ¥èªååãã¼ã«
- SemVer ã«ãããã¼ã¸ã§ã³çªå·ã®æ±ºå®
- git ã®ãã¼ã¸ã§ã³ã¿ã°ã®ä½æã¨ãªã¢ã¼ãã¸ã® push
- GitHub ã®ãªãªã¼ã¹æ©è½ã使ã£ã¦ã®ãªãªã¼ã¹ã¨ãã§ã³ã¸ãã°ã®ä½æ
- æ£å¼ãªãªã¼ã¹ä»¥å¤ã« alpha/beta/rc ã®ãããªãªãªã¼ã¹åãã¼ã¸ã§ã³ã®ä½æ¥ã«ã使ãã
- liip/RMT ã¨ãããã¼ã«ã«ã¤ã³ã¹ãã¤ã¢ãããããã
- å®éã®ãã©ã¦ã¶ã使ã£ã¦ã¹ã¯ã¬ã¤ãã³ã°ããã¹ããè¡ãããã®ã©ã¤ãã©ãª
- 6 æã« W3C ã®å§åã¨ãªã£ã WebDriver ãããã³ã«ã使ããChrome ã Firefox çãåãã
- Symfony ã® BrowserKit / DomCrawler API ãå®è£
- PHP ã§ããã»ã¹éã®æä»å¶å¾¡ãè¡ãã©ã¤ãã©ãª
- åã Mutex ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§ãflock ãã memcached ã redisãmysql/postgresql ãããã¯æ©æ§ã«ä½¿ããã®ã¾ã§è¤æ°ç¨®é¡ãã
- ã³ã¼ãã®å質ãå®ãããã®ãã¼ã«
- ã¤ã³ã¹ãã¼ã«æã« git ã®ã³ãããããã¯ãç»é²
- ã³ãããæã«Â phpcs ãªã©ã®è¨å®ããããã¼ã«ãå®è¡ãããã¹ãã失æãããããã¨ãã²é¢ã®ãããããå±ã£ã¦ããã
- composer ããã±ã¼ã¸ã®ä¾åãã§ãã¯ãã¼ã«
- composer.json ã®ãªã¼ããã¼ãè¨å®ãããã©ããå ¨ PHP ãã¡ã¤ã«ãè¦ã¦ãåãã¡ã¤ã«ã§ä½¿ãããã·ã³ãã«ãåé
- composer.json ã® require ã«ã¯ãªã require-dev ã«ã ããããã®ãããã°è¦å
- ãã¨ãã° require-dev ã«ããã·ã³ãã«ã®å©ç¨ã«ããããã¼ã«ã«ã§åãããã©ãæ¬çªã§åããªããã¨ããäºæ ãé¿ãããã
- ããã±ã¼ã¸ã¯ã¤ã³ã¹ãã¼ã«ããã¦ããããã©ãã§ã使ããã¦ããªããã®ãããã°è¦å
- GrumPHP ã®ã¿ã¹ã¯ã¨ãã¦ãåã
- PHPUnit ã並åå®è¡
- 並åã§å®è¡ãã¦ã³ã¼ãã«ãã¬ãã¸ã®ã¬ãã¼ãã 1 ã¤ã«ã¾ã¨ãããã
- åã¯ã¼ã«ã¼ããã»ã¹ã¯ TEST_TOKEN ã¨ããç°å¢å¤æ°ã§ 1 ããå§ã¾ãçªå·ãããããæ¯ããã
- ãã¨ãã°ããã»ã¹ãã¨å¥ã® DB è¨å®ã使ããããªãã¨ãå¯è½ã«ãªã
https://github.com/nunomaduro/larastan
- Laravel ç¨ã®Â phpstan ã©ããã¼
- Facade ã®ãããªãå®è¡æã«ãã¸ãã¯ã¡ã½ããã§è§£æ±ºãããé¨åãæ£ãã解æããããã®ãã®
- Laravel ããã¸ã§ã¯ãã®ç»é¢å ã§ãã©ã®é¨åãã©ã®ãã³ãã¬ã¼ãã¨å¯¾å¿ããããè¦è¦åã§ãã
- Laravel ã®ã¢ãã«ãã¡ã¤ã«ããERå³ãçæ
- GraphViz ãå©ç¨
- Laravel ã¢ããªã±ã¼ã·ã§ã³ã®ã¯ã¨ãªå®è¡ãç£è¦ããN + 1 ã¯ã¨ãªãè¦ã¤ãã¦è¦åãã¦ããããã¼ã«
- å®è£ çã«ã¯ Eloquent ã®ãªã¬ã¼ã·ã§ã³çµç±ã§æããããã¯ã¨ãªãã¯ã¨ãªæ¯ã«ããã¯ãã¬ã¼ã¹ããæ¤åºããéè¤ã¯ã¨ãªãã«ã¦ã³ããããããªãã®
- Swoole + Laravel = 5 åéã
- Nginx & FPM ã¨ã®ãã³ããã¼ã¯æ¯è¼ããã
- PHP 7.3 åãã§é æ«ãã Fiber RFC ã®è½è¤
- Fiber æ¡å¼µã«ã¯ãªãªã¸ãã«çã¨æ´¾ççã®2種é¡ããã£ã
- æ´¾ççã®æ¹ã®ä½è  Martin ããããFiber RFC ã async-interop ã®è°è«å 容ãå¼ãç¶ããªããå§ããæ°ããã¸ã§ã¯ã
- 以ä¸ã®å
容ãæã¡ãFiber RFC ãæ¯æãããªãã£ãç¹ã¸ã®åçãä¸éãåãå
¥ãã¦ãã
- æ´¾çç Fiber æ¡å¼µï¼C ã¹ã¿ãã¯ãåãæ¿ããï¼
- Awaitable ï¼Promise ã®ãããªãã®ï¼
- async/await ï¼å½é¢ã¯é¢æ°ã¨ãã¦æä¾ãä¸å¿ PHP æ¬ä½ã¸ã®ãã¼ã¯ã¼ã追å ã®ããããåå¨ï¼
- ããã©ã«ãã®ã¹ã±ã¸ã¥ã¼ã©
- ãã¼ã«ã«ã¹ãã¬ã¼ã¸ã§ãã Context
- libuv ãã¼ã¹ã®ã¤ãã³ãã«ã¼ãã®çµ±å
- ã¨ããããã¯ç®æ¨ PECL å ¥ã
- amphp/amp 㮠ã¡ã³ãã¼ãæ¡å¼µãå®éã«å©ç¨ããå´ã®ç«å ´ã§ããªãåãã§ãã
- ãã®æ¡å¼µã«å¯¾å¿ãã amp ã®ãã©ã³ããé²è¡ä¸
- Fiber / Awaitable ã®å°å ¥ã§Â Promise ãä¸è¦ã«ãªããªã©ããã®é¡ã®éåæ PHP ã³ã¼ãã¸ã®å½±é¿ãåããããã
- Minecraft Bedrock Edition ç¨ãµã¼ãã PHP ã§å®è£ ãããã®
- ãªã«ãã«Â pthreads æ¡å¼µãé å¼µã£ã¦å®ç¨ãã¦ããæ°å°ãªãä¾ã®ä¸ã¤
- ä¾ãã° pthreads æ¡å¼µã§ã¯ã¯ã©ã¹å¤æ°ãã¹ã¬ãããã¼ã«ã«ã¨ãªããããã¹ã¬ããçææã«ååæåãããã¨ãã£ãå°ãç¹æ®ãªãã¦ãã¦ãå¿ è¦
https://github.com/codeplea/ahocorasickphp
- ã¨ã¤ã – ã³ã©ã·ãã¯æ³ã§è¤æ°ãã¼ã¯ã¼ãã§ã®æååæ¢ç´¢ãè¡ãã©ã¤ãã©ãª
- PHP ã«ããå®è£ ã§ã strpos() ã preg_match() 使ãããéãã£ãããããã¨ã®ãã¨
- ãã«ã®ã¼ã® Web ãã¶ã¤ã³ã¨ã¼ã¸ã§ã³ã·ã¼Â SpatieÂ å ¬å¼ãµã¤ãã®ã½ã¼ã¹ã³ã¼ã
- Postcardware ã§ãã³ã¼ãèªãã§å¦ã³ããã£ããèæ¸ãéã£ã¦ã»ãããããï¼éãã¨ãµã¤ãã«è¼ãï¼
- Laravel ã使ã£ãä»ã©ããªæ§æã® Web ãµã¤ãã®ä¸èº«ãè¦ãã
æè¿ã® internals
[RFC] Typed Properties v2 [Under Discussion]
- https://externals.io/message/102333#102867
- PHP 7.3 åã㧠RFC ã®åºã¦ããåä»ããããã£ã«ã¤ã㦠PHP 7.4 ãã¿ã¼ã²ããã¨ããããæ¹éã決ã¾ã
- ä»ããå ¥ããã¨æ¡å¼µã®å¯¾å¿ã大å¤ã«ãªãããããæçµçãªçç±ã¨ãªã£ã
- æ票èªä½ã¯ 7/23 ãããã«ã¯éå§ã¨ãã話ã ã£ãããä»ç¾å¨ã¾ã å§ã¾ã£ã¦ããªã
Non-nullable properties
- https://externals.io/message/102822
- åä»ããããã£ã®é Nullable ãªããããã£ã®æ±ãã«ã¤ã㦠Rowan ãããã
- æãåç´ãªã®ã¯ããã©ã«ãå¤ã常ã«æã¤ããã«ãããã¨
- ç¾ç¶ææ¡ã§ã¯ä½¿ãããåã«åæåããåæ
- æ£ããåæåããã¦ããªãããããã£ã¯èªã¿åãæã¨ã©ã¼ã¨ãªãï¼ãã__get() ãå¼ã°ããï¼
- ããã ã¨å©ç¨å´ã³ã¼ãã¯ä½¿ãåã«åæåããã¦ãããã®ãã§ãã¯ãå¿ è¦ã¨ãªããå宣è¨ãä¿¡ç¨ã§ããªããªããã¾ãã¢ã¯ã»ã¹æã¨ã©ã¼ã ã¨å®éã®ééããã©ãããæ¢ããªããªãã®ã§ã¯ï¼ã¨ããæè¦
- ææ¡è ã® Nikita ããã¯ãæªåæåã³ã¼ãã¸ã®ã¢ã¯ã»ã¹ã¯å¸¸ã«åæåã³ã¼ãã®èª¤ããªã®ã§ãæ°ã«ããåæåæ¸åæã§ã¢ã¯ã»ã¹ããã¨ã©ã¼ã¯åæåã³ã¼ãã§ç´ãã§ãããã¨è¿ç
- Rowan ããããã¯ãã©ã¤ãã©ãªã®ã¦ã¼ã¶çã¯ãã®åæåã³ã¼ãã®èª¤ãã«å¯¾å¿ãããã¹ããªãã®ã§ããã¯ãè¨èªå´ã§ãªãã¨ãã§ããªãã®ããã¨ããæè¦
PHP 7.3 branched / PHP 7.3.0beta1 is available for testing
- https://externals.io/message/102986
- PHP 7.3 ã®ãã©ã³ãã master ããåãããbeta1 ããªãªã¼ã¹
- ãã㧠PHP 7.3 㯠Feature Freeze
- 以é master 㯠PHP 7.4 åãã®ä½æ¥ãã©ã³ãã¨ãªã
- åä»ããããã£ããã®ä»ã®ææ¡ã alpha ã®å¾åã§å¤§éã«åºããã¨ã§ãalpha ã¹ãã¼ã¸ã 1 ã¤è¿½å ã¨ãªããå½åäºå®ãã 2 é±éé ãã® 2018 å¹´ 12 æ 13 æ¥ã« GA äºå®
On not rushing things at the last minute
- https://externals.io/message/102708
- Feature Freeze åã®åå£å ´ã§ææ¡ããªã ãè¾¼ããã¨ã¸ã®è¦è¨ã Sara Golemon ãããã
- ãããããè¯ããã¨ã§ã¯ãªããããã¨ããæè¦
- RFC ã®ã¿ã¼ã²ããå æå®ãå½è©²ãã¼ã¸ã§ã³ã® alpha ããåã«å¶éãã¨ãã話ãããã¤ã¤ãè½ã¨ãã©ããã¯è¦ã¤ãã£ã¦ããªã
[RFC] abolish narrow margins [Under Discussion]
- https://externals.io/message/102765
- è¨èªã®ã³ã¢ä»¥å¤ã¯éåæ°ã§å¯æ±ºãã¨ããæ票ã«ã¼ã«ãå»æ¢ããææ¡
- æ票è
ã®åæ°è¿ããå対ãããããªææ¡ãå¯æ±ºãããã®ã¯è¯ããªããã¨ãªã®ã§ãå
¨é¨ 2/3 ã® yes ãè¦æ±ããããã«ãã¨ãã話
- ãã¨ãã°ãã®ã«ã¼ã«ã¨ããå ´åã https://wiki.php.net/rfc/array_key_first_last ãªã©ã¯å¦æ±ºã«ãªã
- ä¸å®ã®è³åãå¾ãä¸æ¹ãä¾ãã°ãã¤ã¦ã® PHP ã®æ¬¡ãã¼ã¸ã§ã³ã PHP6 ã PHP7 ãããªã©ã¯éåæ°ã§å¥ã«ããã¨ããæè¦ã
- ãã®ä»ãè°è«ã®åæ¢å¾ä¸å®æéå ã«æ票ã¸ç§»è¡ããªã RFC ã¯ãinactiveãã¨ããç¶æ ã¸ç§»è¡ãã¨ãã£ãæ票ããã»ã¹å ¨ä½ã«ã¤ãã¦ã®è©±ãåºã¤ã¤ãã¨ããããã®è½ã¨ãã©ããã¯ç¡ã
- 7.3 ã®ä½æ¥ãè½ã¡çããé ã«åçãããã
On abstract methods defined on traits
- https://externals.io/message/103032
- Trait ã® abstract ã¡ã½ããã«ã¤ãã¦
- å©ç¨ã¯ã©ã¹ã®è¦ä»¶ãè¦å®ãããããªè¨è¿°ãããã¥ã¢ã«ã«ããããå®éãããªã£ã¦ãªãã®ã§ã¯ãã¨ãã話
- ç¾ç¶ã¯å©ç¨ã¯ã©ã¹ã trait ã§è¦æ±ããã¡ã½ããåãæã¤ãã¨ã¯å¼·å¶ããã¦ãããã以ä¸ã§ã¯ãªã
- ãã¨ãã°å宣è¨ã®ãããªã·ã°ããã£ã®ä»ã®é¨åã¯å¼·å¶ãããªã
- ä¸æ¦æ½è±¡ã¯ã©ã¹ã§ use ããã¨ããã®æ´¾çã¯ã©ã¹ã§ã¯å宣è¨é¨åãå¼·å¶ããã
- æ¯ãèãã§ã¯ãªãããã¥ã¡ã³ãã®æ¹ã®ä¿®æ£ãé©åã§ã¯ãã¨ããæè¦ã
Nullable cast (?int)
- https://externals.io/message/102997
- Nullable cast ã®ææ¡
- ãã£ã¹ãããå¤ã null ãªã null ã®ã¾ã¾ã«ãªã
- ãã¨ãã° (?int)null 㯠0 ã§ã¯ãªããnull
- ä»ã¯ã¾ã ML ã«ããã¨è©±ãåºã¦ããç¶æ ããã®ãã¡ RFC ãããããï¼
[RFC] [VOTE] User-defined object comparison [Declined]
- https://externals.io/message/102674
- ã¦ã¼ã¶å®ç¾©ãªãã¸ã§ã¯ãæ¯è¼ã® RFC ã®æ票ã5 対 12 ã§å¦æ±º
[RFC] [VOTE] Class Friendship [Declined]
- https://externals.io/message/102627
- Class Friendship ã® RFCãæ票㧠6:27 ã§å¦æ±º
- 2 ï½ 3 å¹´åããè°è«ã®ãã£ãææ¡ãããåçªã«æ票ã¸æã¡è¾¼ã¾ãããã®
- ããã±ã¼ã¸ã¬ãã«ã®å¯è¦æ§å¶å¾¡ãªãã¢ãªãããã¨ããéå»ã®è°è«ã®æµããåæ ãã¦ããåã人ã Namespace Visibility ã® RFC ãä½ãã¯ããã
FIG
[ACCEPTANCE] PSR-17 Accepted
- https://groups.google.com/forum/#!topic/php-fig/Q1Ym3RFVdwM
- PSR-17Â ãåç
- PSR-7 æºæ 㪠HTTP ãªãã¸ã§ã¯ããçæãããã¡ã¯ããªã®ã¤ã³ã¿ã¼ãã§ã¼ã¹
- PSR-15 ã¨ãããã¦ãPSR-7 ãç©æ¥µçã«ä½¿ã£ã¦ããå¤å ãåã¾ã£ã¦ããå°è±¡
internals ã®æ¹ã¯ 7 æä¸æ¬é ã¾ã§ãåä»ããããã£ãã©ã®ãã¼ã¸ã§ã³ã¸å ¥ãã«ããããã¨ããã®ã§ã ãã¶ã´ã¿ã¤ããå°è±¡ã§ãããPHP7.3 åãã®æ©è½ãä¸éãåºæããæè¿ã¯æ©è½ææ¡çã¯å°ãè½ã¡çãã¦ããå°è±¡ã§ãã
GitHub ã®ããã±ã¼ã¸ç´¹ä»ã¯æä¸ã ã¨è²¯ã¾ãéãï¼ã¦è¨äºã«ãã段éã§æ¨ã¦ãã¾ããã®ãå¤ãåºï¼ãã®ã§ãããééãçããã¦è¨äºãåºãæ¹ã楽ãããªæ°ããã¦ãã¦ãã¾ãã
FIG 㯠PSR-14 ã alpha1 ãåºããããã¦çµæ§æ´»çºãªå°è±¡ã¯ããã®ã§ãããã¾ã è°è«å
容ã¾ã§ã¯è¿½ãããã¦ãã¾ããã
æå¾ã«ãç¥ããã§ããPHPã«ã³ãã¡ã¬ã³ã¹ä»å°ã®å
¬å¼ãµã¤ããå
¬éã¨ãªãã¾ããã2019å¹´1æ26æ¥ã«ä»å°é§
西å£ã§éå¬ã§ãã
ã¤ã³ãã£ãããã«ã¼ãã§ã¯ãPHP ã®ææ°æè¡ååãæ°ã«ãªãã¨ã³ã¸ãã¢ãåéãã¦ãã¾ãã
詳ããã¯ãã¡ãã®æ±äººè©³ç´°ãã覧ãã ãããâãæ¡ç¨æ å ±ãã¼ã¸Â ï¼ä»å°æ¯ç¤¾ç¹è¨ãã¼ã¸ã¯ãã¡ãï¼
ã¤ã³ãã£ãããã«ã¼ãã§ã¯ãPHP ã®ææ°æè¡ååãæ°ã«ãªãã¨ã³ã¸ãã¢ãåéãã¦ãã¾ãã
詳ããã¯ãã¡ãã®æ±äººè©³ç´°ãã覧ãã ãããâãæ¡ç¨æ å ±ãã¼ã¸Â ï¼ä»å°æ¯ç¤¾ç¹è¨ãã¼ã¸ã¯ãã¡ãï¼