PHPerKaigi 2021 (2021/3/27) çºè¡¨è³æãè£è¶³è¨äºï¼https://hnw.hatenablog.com/entry/2021/03/29/011242 Read less
If PHP Were British When Rasmus Lerdorf first put PHP together, he - quite sensibly, despite his heritage - chose not to write it in Greenlandic or Danish. Good job too - that would have been rather unpleasant to work with. He opted instead, being in Canada, for a more local tongue. No, not French. Not Canadian English either. No, he went for that bastard dialect of the Queen's English commonly re
ä»å¹´ã®å¤é ãããç¹ã«ãµã¼ãã¹ã¨ãã¦åºãããã§ã¯ãªãã社å ã§ä½¿ã£ã¦ããã·ã¹ãã ã®ãªãã¬ã¼ã¹ãè¡ãäºã«ãªãã¾ããã主ãªç®çã¯ã¬ã¬ã·ã¼ãããè¨è¨ãããä½åº¦ã¢ãã³ã«ããäºãããã¦ä»ã®ã·ã¹ãã ã¨é£æºåºæ¥ãããã«ããäºãã§ãã 対象ã®ã·ã¹ãã è¦ç©æ¸ãè«æ±æ¸ãªã©ã管çã»çºè¡ãã¦ãããæ©è½ã¯ãããªãã«å¤ããUIæä½ã¯Formãã¼ã¹ããã¼ãã«ã¿ã°ã§è«¸æ å ±ã表示ããã·ã³ãã«ãªç©ããã³ãã¬ã¼ã ã¯ã¼ã¯ã§1ç»é¢1PHPãã¡ã¤ã«ãªå¤ãè¯ãæä»£ã®ã³ã¼ãããããã10å¹´ãããï¼ç¨¼åãã¦ãããå½åã¯PHP 5.1ãPostgreSQL 8.xç³»ã ã£ãããç¾å¨ã¯PHP 5.6ã¨PostgreSQL 9.6ã§ç¨¼åãã¦ãã¾ãã ãã®ä»ã®ç¤¾å ã·ã¹ãã ãã¤ã¦ã¯ãã³ãã¬ã¼ã ã¯ã¼ã¯ã ã£ããã太å¤ã®ãã¼ã¸ã§ã³ã®CakePHPã ã£ãããPHPã4ç³»ã ã£ããããããæ¦ãCodeIgniter 3ç³»ææ°ç + PHP 5.6ï½7.1 + P
Transcript �&GGFDUJWF�:%% �����������1)1�#-5��� 4VQFSTIJQ�*OD����4IP�*UP w Òà±»ï¿½á ³ï¿½Ê¢!JUPTIPʣ� w 4VQFSTIJQ×à£Õ±à£¾Ê¢ÚOBOBQJʣͰ8FCΤϯδÏÎÎͬͯÎ͢ɻ� w 1)1FS�Ͱ͢Íà ·Û͸�(PMBOHï¿½Í´à·Ø¾à®¤É»ï¿½ï¿½ w à§½à Í°Í¢É»Ê¢à·Ø¾Í ͯÎͤÎʣ� w 1PLÃNPO�(0ͷϦϦÊεØà¢¹#05ÎÍÍͬͨɻ à£Ý¾à¦ºÕ° ಥવͰ͢ÍɺÍͷதͰطà à¤Í·à¹Í¸Ô¿à¨ÍÎÍ¢ÍÊ :%%à²à³ï¿½ï¿½ï¿½ï¿½:%%جૠ����:%%àµà°² Ýà Í¢Îͱ1)1ॻÍà£ØÍÝ®ÎÎͤÎÍÊ :%%à²à³ï¿½ï¿½ï¿½ï¿½:%%جૠ����:%%àµà°² w ������Ùà¦Ê¢à³à±à§¸Ê£ï¿½ w �����Ê������ÏοÏαÊÏÎϯ� w �����Ê������ன৸� w �����Ê������ͪÎͬͱ1)1� w �����Ê���
ãã®10å¹´éã§ã3ã¤ã®ã¡ã¸ã£ã¼ãªããã°ã©ãã³ã°è¨èªããããããPerl 6ãPython 3ãPHP 6ã¸ã¨å¤§å¹ ãªãã¼ã¸ã§ã³ã¢ããã«ä¹ãåºãã¾ãããã¨ããããUnicodeã®ãµãã¼ãåé¡ãªã©ã®è¡¨é¢çãªé¡ä¼¼ç¹ãããã«ãé¢ããããæ ¹æ¬çã«ç°ãªã£ãå±éãè¦ãã¦ãã¾ãã ä»å¹´Perl 6.0.0ãå ¬å¼ã«ãªãªã¼ã¹ãããã®ã«ä¼´ãããã¾ä¸åº¦æ¯ãè¿ã£ã¦ããªãªã¼ã¹å¾ã®å±éã«ã¤ãã¦èãã¦ã¿ãã®ã«ãä»ã¯ã¡ããã©ããã¿ã¤ãã³ã°ã§ãããã ãããæ¸ãã¦ãããã¨ãèªåã§ãä¿¡ããããªãã®ã§ãããPHPããå¦ã¶ã¹ããã¨ããããã©ããè¦ã¦ããã¾ããããZend Technologiesã®CEOã§ããAndi Gutmansæ°ã¯2008å¹´2æã® ã¤ã³ã¿ãã¥ã¼ ã§ããçãã¦ãã¾ãã æã ã¯PHP 6ã«å¯¾ãé·ããµã¤ã¯ã«ã§ã®ãã¼ã«ã¢ã¦ããäºæ³ãã¦ãããPerlããã¸ã§ã¯ãã«å¯¾ãã¦ã¯ãããã¸ã§ã¯ãã®ã³ã³ããªãã¥ã¼ã¿ã¼ããã¾ã Perl
PHPã«ã³ãã¡ã¬ã³ã¹é¢è¥¿2015ã§ã®ç§ã®ã»ãã·ã§ã³ãPHPã«ç¡ãã»ãã¥ãªãã£æ©è½ãã®ã¹ã©ã¤ãã§ãã ä½ãç¡ãã®ããç¥ã£ã¦ããã°å¯¾å¿ã§ãã¾ãã ä½ãåé¡ã«ãªã£ã¦ããã®ããç¥ã£ã¦ããã°å¯¾å¿ã§ãã¾ãã ã»ãã¥ãªãã£å¯¾çã¯è·äººææµï¼èå¼±æ§å¯¾çãã³ã¼ãä¸ã«æ£ãã°ããå ¨ä½ãææ¡ããªãã¨å®å ¨ã«ã§ããªãä½ãæ¹ï¼ã§ã¯ãªããCERT/SANS/OWASPãæ¨å¥¨ããã»ãã¥ãªãã£å¯¾çãè¡ããã¨ã³ã¸ãã¢ãªã³ã°çï¼ç§å¦çãä½ç³»çãªä½ãæ¹ï¼ãè¡ãæ¹ãç°¡åãã¤ããå®å ¨ãé«å質ãªã¢ããªã±ã¼ã·ã§ã³ãä½ãã¾ãã PDFããã¦ã³ãã¼ããããæ¹ã¯ããã°ãã覧ãã ããã http://blog.ohgaki.net/missing-security-related-parts-of-php
ï¼2015/07/02追è¨ï¼PHP 7.0.0alpha2ã«åããã¦ä¿®æ£ãã¾ããï¼ PHPã®ã¨ã©ã¼ã¯ãã¨ã©ã¼æè¨ã表示ããã ãã®è¦åã»æ³¨æã¨ããã®å ´ã§å¦çãçµäºãã¦ãã¾ãè´å½çã¨ã©ã¼ï¼fatal errorï¼ã®2種é¡ã«å¤§å¥ã§ãã¾ãã ã¨ããã§ãPHP5ã®è´å½çã¨ã©ã¼ã«ã¯ä¸ä¾¿ãªç¹ãããã¾ããããã¯ãset_error_handler()ããã®ä»ã®æ¹æ³ã§ã¨ã©ã¼ãã³ããªã³ã°ã§ãããå¿ ãçµäºãã¦ãã¾ãç¹ã§ããããã§ã¯è´å½çã¨ã©ã¼ãã¦ããããã¹ãããã®ãä¸ä¾¿ã§ãããReactPHPã®ããã«ãµã¼ãåä½ããããããªããã°ã©ã ãå®å¿ãã¦ä½¿ãã¾ããã PHP7ã§ã¯è´å½çã¨ã©ã¼ãä¾å¤ã¨ãã¦å®ç¾ãããããã«ãªããã¨ã©ã¼ãã³ããªã³ã°ã®èªç±åº¦ãæ ¼æ®µã«ä¸ããã¾ããããã®å¤æ´ã®æ¦è¦ãç´¹ä»ãã¾ãã ä¾å¤ã®ã¯ã©ã¹é層ã®å¤æ´ ã¾ããPHP7ã§ä¾å¤ã¯ã©ã¹ã®é層ãã©ãå¤ãããã説æãã¾ããPHP5ã¾ã§ã®ä¾å¤ã®ã¯ã©ã¹éå±¤ã¯æ¬¡ã®ãã
JPHPã¨ããJavaã§æ¸ãããPHPå¦çç³»ãããã¾ããããã¯2013å¹´10æã«ã¯ãã¾ã£ãæ°ããããã¸ã§ã¯ãã§ã大åãã¡ã¤ã³éçºè ä¸äººã§éçºãã¦ããããã§ãããæ¢ã«ä¸å®ä»¥ä¸ã®å®æåº¦ã§ããã¾ããå é¨çã«ã¯PHPãã¡ã¤ã«ãè§£éãã¦ç´æ¥Javaãã¤ãã³ã¼ãã«ã³ã³ãã¤ã«ãã¦ãããããªãé«éãªPHPå¦çç³»ã«ãªã£ã¦ãã¾ãã ä»ã®PHPå¦çç³»ã¨ç°ãªããæ¢åã®PHPã³ã¼ããWebãµã¼ãä¸ã§åãããã¨ãéè¦ãã¦ããªãããã«ãè¦ãã¾ãããè峿·±ãããã¸ã§ã¯ãã§ãã®ã§ç´¹ä»ãã¾ãã JPHPãåããã¦ã¿ã ãã£ããJPHPã試ãã¦ã¿ã¾ããããç¾æç¹ã§ã¯GitHubããã½ã¼ã¹ã³ã¼ããæã£ã¦ãã¦ãã«ãããå¿ è¦ãããã¾ããJDK7以ä¸ãå¿ è¦ã§ãã®ã§æ³¨æãã¦ãã ãããJPHPã®ããã¥ã¡ã³ããGetting Startedãã®éããæ¬¡ã®ããã«ãã¦JPHPããã«ãã§ãã¾ãã $ git clone https://githu
PHPã§ç°¡åã«CSPãå°å ¥ããããã®ã©ã¤ãã©ãªã使ãã¦ã¿ã¾ããã kenjis/csp https://github.com/kenjis/php-csp-nonce-source æ¢åãµã¤ãã¸ã®å½±é¿ãæå°éã«ãã¦CSPãå°å ¥ã§ãããã¨ãç®çã¨ãã¦ãã¾ãã åºæ¬çã«CSP nonce-sourceã使ããnonceã®ãªãscriptã¿ã°ã¯å®è¡ããªãããã«ãããã¨ã§XSS対çãå¼·åãã¾ãã ãã®ã©ã¤ãã©ãªã®ä»æ§ã¨ãã¦ã¯ãCSP nonce-sourceã«å¯¾å¿ãã¦ããã¨æãããæå®ãã©ã¦ã¶ã«å¯¾ãã¦ã®ã¿CSPããããåºåãã¾ããç¾ç¶ãChromeã¨Firefoxã®ã¿ãæå®ããã¦ãã¾ãã ãªããCSP nonce-sourceã«å¯¾å¿ããChromeã®ãã¼ã¸ã§ã³ãããããªãã®ã§ã確èªã§ãããã¼ã¸ã§ã³37以ä¸ã¨ãã¦ã¾ãã CSPã«ã¤ã㦠CSPã«ã¤ãã¦ããç¥ããªãæ¹ã¯ä»¥ä¸ã®ã¹ã©ã¤ããªã©ãã覧ä¸ããã
徳丸ã¯PHPã好ãã? ã§ãããå ã¯ãããªãã¨æèãã¦ãªãã£ããã§ããæ¥æ¬ã®PHPã³ããã¿ã¼ã®ä¸äººã«ã³ã¤ãºãã¢ãªã¨ã·( @moriyoshit )ã¨ããç·ããã¾ããããã¾ãã¾å½¼ã¨æ¼é£ãä¸ç·ã«ãªãæ©ä¼ããã£ã¦ããã®å¸ã§å½¼ããã¼ãã£ã¨è¨ããããã§ããã徳丸ãããPHP好ãã§ãããâ¦ãããããã¾ã§PHPã好ããã©ãããªãã¦ãèãããã¨ããªãã£ãã®ã§ããèªåã¯PHPã好ãã? èãã¦ãããã¡ã«ããã£ãèªåã¯PHPã好ããªã®ããâ¦ã¨æãå§ãã¾ãããããããã¢ãªã¨ã·ãç§ã«åªããããããã ã¨æãã¾ããï¼ç¬ãï¼ åæ¥è ããã¯ã徳丸ã¯ãªããããªã«PHPã追ãããåããã ãã¨æããã¦ããã¨æãã¾ããã徳丸ããã¯PHPãå®å ¨ã«ä½¿ãæ¹æ³ã示ããç½ªæ·±ãæ¹ãã¨æ¸ããããã¨ãããã¾ãï¼æ¶æãªã®ããæ¹å¤ãªã®ããã¾ããè¤ãã¦ããã®ãããªããªã®ããããããã¾ãããwï¼ã ãã¤ã¦ã¯ãPHPçéã®ä¸äººãããé¢ã¨åãã£ã¦ã徳丸ãã
ããã«ã¡ã¯ãæ°è¦äºæ¥æ¬é¨ã»éèã°ã«ã¼ãã®éï¼æå¥ï¼ã§ãã ååã¯é«æ§è½GISå°ç¨ã®PostgreSQLãã¼ã¿ãã¼ã¹ãµã¼ãã¼ã®æ§ç¯ã«ã¤ãã¦è©±ãã¾ããããä»åã¯FastCGIåºç¤ã¦ã§ããµã¼ãã¼ã®PHPã³ã³ãã¤ã«æ§ç¯ããã¥ã¼ãã³ã°ãè¨å®ãªã©ã«ã¤ãã¦ã話ãããã¨æãã¾ããå 容ã®ç¯å²ãåºããé·æã«ãªã£ã¦ãããããï¼åã«åãã¦æç¨¿ãã¾ãã PHPã¯ãã»ã¨ãã©ã®ã¢ã¸ã¥ã¼ã«ãã³ã³ãã¤ã«ããããããªæ§æã¨ãªã£ã¦ãã¾ãããã¾ãã«GISé¢é£ã®ãã¼ã¿ãæ±ããã¨ã®ã§ããGEOSã¨ã¯ã¹ãã³ã·ã§ã³ã®è¿½å ãªã©ã«ã触ãã¦ãã¾ãã ã¦ã§ããµã¼ãã¼ã¯ãApacheã¨Nginxã«ãªãã¾ãããNginxã®ã³ã³ãã¤ã«æ§ç¯æ¹æ³ã«ã¤ãã¦ã説æãã¾ããç¹ã«Apacheã§PHPãéç¨ããéãæãå¹çããæ§æã¯ãªãã ããã¨éçºãã¤ã³ãã©æ å½ã®æ¹ã¯ãã£ã¨æ©ãã ãã¨ããããã¨æãã¾ããApacheã¨PHPãã©ã®ãããªæ§æã¨è¨å®ã§éç¨ããã°ãé«ãã
PHPã®==ã¯ä¸¡è¾ºãé©å½ã«åãã£ã¹ããã¦ããæ¯è¼ãããããªæ¼ç®åã§ãããã®åãã£ã¹ãã®è¦åã¯é£è§£ãããä¸ã«ããã¥ã¡ã³ããä¸ååãªãããPHPããã°ã©ãã§ãå®ç§ã«çè§£ãã¦ãã人ã¯ã»ã¨ãã©å± ãªããããã®å°è±¡ã§ãããã°ã®åå ã«ãªããããªãããããªãã¹ã==ã使ããªãããã«ãã¦ããPHPããã°ã©ããå¤ãã¯ãã§ãã ã¨ããã§ããã®==æ¼ç®åã®æåãPHP 5.4.4ãã夿´ããã¦ãããã¨ã¯ãã¾ãç¥ããã¦ãã¾ãããæ¬ç¨¿ã§ã¯ãã®å 容ãç´¹ä»ãã¾ãã Bug #54547 ã®é¨å ã¾ãã¯ãã®ä»æ§å¤æ´ã®çµç·¯ãç´¹ä»ãã¾ãã 2å¹´ã»ã©æãHacker Newsã§2^63ä»è¿ã®æ´æ°ã«å¯¾å¿ããæååãPHPã§æ¯è¼ããã¨ãã®æåãããããã¨ããã¹ã¬ãããçãä¸ãã£ããã¨ãããã¾ãããå ·ä½çã«ã¯ãPHPã§ã¯ã'9223372036854775807' == '9223372036854775808'ããtrueã«ãªãã¨ã
æ¬è¨äºã¯è±èªçããã°ã§å ¬éãããè¨äºã®ç¿»è¨³çã§ãã 10å¹´åã®æ¨æ¥ã2004å¹´7æ13æ¥ãPHP 5.0.0ãä¸çã«åãã¦å ¬éããã¾ãããZend Engine 2ãæè¼ããå®è³ªçã«çã¾ãå¤ãã£ãPHPã§ãã Zend Engine 2èªä½ã¯PHP 4.3.0ã®ããã¤ãã®ã¢ã«ãã¡çããï¼è©¦é¨çã«ã§ããï¼ãã§ã«å ¬éããã¦ãã¾ãããä¸è¬çãªã¦ã¼ã¶ã¼ã«ã¨ã£ã¦ç®ç«ã¤å¤§ããªéãã¯ããªãã¸ã§ã¯ãã®åç §æ¸¡ããããã©ã«ãã«ãªã£ããã¨ã¨ãæ°ãããªãã¸ã§ã¯ãã¢ãã«ã®ãµãã¼ãã§ããç´°ãããã¨ã¯ãã¦ããã å®ã¯ãPHP 4以åã®PHPã¯åºæ¬çã«æç¶ãåè¨èªã§ãã¯ã©ã¹ããªãã¸ã§ã¯ãããµãã¼ããã¦ã¯ãã¾ããããããããå¾ä»ãã®æ©è½ã ã£ãã®ã§ãããã®æ´å²ã¯ç¾å¨ã§ãããã©ã«ãæ©è½ã»ããã®å¤ãã«ââæè¿è¿½å ããããã¹ã¯ã¼ãããã·ã¥APIãªã©ã®æ°æ©è½ã«ããââè¦ã¦ã¨ããã¨ãã§ãã¾ãã ããã§ããããæ¬æ ¼çãªï¼ããã·ã«ãªã£ãã
ãã®æç¨¿ã¯PHP Advent Calendar 2013ã®12æ¥ç®ã®è¨äºã§ãã PHPæä¾è¡äºã®åç §ã¨ä¸é æ¼ç®åã®disãã§ãããããããããã£ã¦ãªè°è«ã¯ããã¾ãããã¨ãã話ã§ãã ä»å¹´ã®PHP-dis大è³ã¨ããã°ãã¡ãã PHPã¨ãããç³è¨èªï½ããã¾ã®ãã㰠⻠追è¨: ããæ¸ãããã®ã¯2012å¹´ã§ããããã¾ããã ãªãã§åãã¡ãããªã³ã¼ããå¿ è¦ãªã®ãããã¨ãçµè«ããå è¨ãã¨ããã¿ãã¡ãPHPã使ããªãã£ã¦æãã®ã¯ããããªæåã«å·¦å³ããããããªã³ã¼ããæ¸ãããã§ãããã ããCã¨ãRubyã¨ãããããç°¡åãªè¨èªã§ããã£ãæ°ã«ãªã£ã¦ããåå¿è ã¯ã¾ã£ãããã...ã¨ããããã§PHPã®è¨èªææ³ã®åºç¤ãã¨ããããã¾ããã ã¾ããPHPã®arrayã¯ãå¤ãã§ãããã¡ããæååããå¤ãã§ããå¤ã¯å¤ãªãã ãã©ãããã¯ãã¥ã¼ã¿ãã«ã§ããPHPã®arrayãããã¯æååã®ä»£å ¥ã¯ãä¸è¦ããã¨ããã¤ã³ã¿ã使ã
ãã¨ã®å§ã¾ã PHP ã® srand 颿°ã«ã¤ãã¦èª¿ã¹ã¦ãã¦ãã²ãããªæåã«srandã®seedã«æååï¼numericã§ããå¿ è¦ã¯ãããã©ï¼ã渡ãããã¨ãç¥ã£ãã ã§ã¯ãããã« long ãè¶ ãããã®ãæ¾ãè¾¼ãã¨ã©ããªãã®ãã ã§ã¯çµæãããããã ããã ãï¼ï¼ï¼ï¼ã ãªããããªãã®ã ç§å¯ã¯ PHP å¦ç系㮠zend_parse_arg_impl 颿°ã«ããã¾ãã zend_parse_arg_impl ã¯phpã®é¢æ°ã«æ¸¡ããã弿°ããã¼ã¹ããé¨åã§ãlongãè¦æ±ãã颿°ã«stringãªå¤ã渡ãããæã®å¦çã¯ãã®é¨åã§ããã https://github.com/php/php-src/blob/master/Zend/zend_API.c#L335 ãã¦ãèªã¿é²ãã¦ããã¨ããï¼ï¼ï¼ï¼ãã£ã¦ãªãè¡ãããã¯ãã§ãã ãã®è¡ã§ãã https://github.com/php/php-
ç±³å½ã§ãã®8å¹´éã®Javaæ¡ä»¶æ°ã®å¢å çã¯ã»ã¼0ï¼ ã§ãPHPã¯250ï¼ å¢ãæ¥æ¬ã§ãä¸ç´PHPerãããªãã¨å£²ãä¸ãã¯ä¼¸ã³ãªãï¼ï¼ PHPã§ä½ãããWebãµã¤ããä¸çä¸ã§2å4400ä¸ãµã¤ãã¨ãªããã·ã§ã¢ã¯40ï¼ ã¨ãªãã¾ãããããã¦ããã®ã·ã§ã¢ã¯ä»ãå¢ãã¦ããããã§ããï¼ã¤ã³ã¿ã¼ãããã³ã 2013å¹´2æã®è¨äºãåç §ï¼ ã¢ã¡ãªã«ã§ã¯Javaã®æ¡ä»¶æ°ã¯ãã®8å¹´éã§å¢ãã¦ãã¾ããã䏿¹ã§PHPã¯2.5åã«ãªãã¾ãããæ¥æ¬ã§ããããªæããããªãã§ããããï¼ããããã ã¨ããã¨ãJavaã¡ã¤ã³ã®äºæ¥ä½ã§ã¯å£²ãä¸ãã¯ä¼¸ã³ãªãã¨ãããã¨ã«ãªãã¾ãã â»2014å¹´5æéè¨ã§ã¯å ¨ç±³ã®Javaæ±äººæ°ã¯0ï¼ æé·ã§ã¯ãªããâ²30ï¼ æé·ã«ãªã£ã¦ãã¾ããï¼2014å¹´10æ6æ¥å çï¼ ã°ã©ãï¼æ¡ä»¶æ°æ¯è¼ æ¥æ¬ã®æ±äººæ°ã§ã¯Javaãä¸ä½ã§PHPã¯äºä½ã¨ãªããæ¥æ¬å½å ã®Javaã®æ±äººæ°ã¯1ä¸6åä»¶ã«å¯¾ãã¦ãPHPã¯1ä¸ä»¶ãè¶ ã
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}