ã©ã¤ãã©ãªãã¤ãã£ã¦å¹ççã«ããã°ã©ã ãæ¸ããï¼ - Webã¢ããªã¨ã³ã¸ãã¢é¤æèªæ¬ AdventCalendar2014 18æ¥ç®
ã¤ãã«ã¯ã¦ãªããã°ãMarkdownã¨ã¯ã¦ãªè¨æ³ã®é½åº¦åãæ¿ããã§ããããã«ãªã£ãï¼ããã¼ä¾¿å©ã ï¼ï¼ãã ããªãããªã³ã¯åãè¾¼ã¿æã¨ãã«ãç¡é§ã«æ¹è¡ãã¯ãããããªï¼ãã°ããªï¼
ãã¦ãããæ¬ã¨ã³ããªã¯Webã¢ããªã¨ã³ã¸ãã¢é¤æèªæ¬ã¢ããã³ãã«ã¬ã³ãã¼ã§ãã
Webアプリエンジニア養成読本 Advent Calendar 2014 - Qiita
ç§ã®æ å½åã«ããã¦ã¯ããã¡ãã®æ¸ç±ã§ã話ã§ããªãã£ããåå¿è åãã®äºã«ã¤ãã¦æ¸ããããã¦ããã¾ãããã¨ä¸é±éã§ããããã¿åãèããã§ããã ãããã¿ããã ããã
ã©ã¤ãã©ãªã¨ã¯
ã©ã¤ãã©ãªã¯ãç¹å®ã®å¦çãåå©ç¨ããããã«ããã ãããããã°ã©ã ã®ä¸é¨ã§ãããªã«ãå¦çãè¡ãæã«ãèªåã§0ããå ¨é¨ã®å¦çããããªãã¦ããã©ã¤ãã©ãªãã¤ããã°åå©ç¨ããäºãå¯è½ã§ãããããã¯ãèªåãæ¸ããªããããªè¤éãªå¦çãã©ã¤ãã©ãªã使ãäºã§ä»£è¡ãããããªäºãå¯è½ã§ãã
ãããã£ã¦ãã¨ãã°PHPã®æ©è½ãé¢æ°ãããªãã®ï¼ãã¨PHPåå¿è ã®äººãªãã°æãããããã¾ããããã¾ããå½ãããã¨ãé ãããã§ããã
ä¸ã®ä¸ã«ã¯æ§ã ãªã©ã¤ãã©ãªãããã¾ãããå¤ãã®ç©ã¯å ¬å¼çã«ã ããã¦ããããã§ã¯ããã¾ããã
誰ãã©ã¤ãã©ãªãå ¬éãã¦ããã®ãã¨ããã°ãå人ããããã¯ä¼æ¥ãªã©ãä½æãã¦ããããé å¸ãã¦ãã¾ãã
ããªãã§ãããªãã¨ãããã®ï¼ãã¨ããããã°ãä½ã£ãã¢ãã便å©ãªã®ã§ãä¸ã®ä¸ã®å½¹ã«ç«ã¡ãã*1ã¨ããååã売ãããã¨ãããããã¯ä¼æ¥ãªãã°èªç¤¾ã®è£½åã®è²©ä¿æ´»åã®ä¸ç°ã®å ´åãããã¾ãããã¨ãã©ã¤ãã©ãªèªä½ã販売ãã¦ããã±ã¼ã¹ãããã¾ãã
ç¹ã«ãã¦ã§ãç³»ã«ã¾ã¤ããããã°ã©ãã³ã°è¨èªã«ã¯ãªã¼ãã³ã½ã¼ã¹ãã¤ãã©ã¤ã»ã³ã¹ã®èªç±åº¦ãé«ãã©ã¤ãã©ãªãæ°å¤ãããããããã£ããã®ã¯ç¡åã§ããã©ã¤ã»ã³ã¹ã®ç¯å²ã§ãèªç±ã«èªåã®ããã°ã©ã ã«çµã¿è¾¼ãã ãã§ããã®ã§ãå¹ççã«ããã°ã©ã ãä½æããäºãå¯è½ã«ãªãã¾ãã
ç§ã¨ãã¦ããèªä½ãä»ä½ãµããã¦ãã¾ã£ããã©ã¤ãã©ãªçãã¤ãããªãã§ããã°ã©ã ããããã¨ã¯ã»ã¼ããã¾ããã
ãã¨ãã°â¦
ç§ãè¯ãã¤ããã©ã¤ãã©ãªãããã¤ãæãã¦ã¿ã¾ãã
ã©ã¤ãã©ãªå | æ¦è¦ |
---|---|
swiftmailer | ã¡ã¼ã«éä¿¡ |
qdmail | ã¡ã¼ã«éä¿¡(æã®ç«¯æ«åã) |
Woothee | ãã©ã¦ã¶å¤å® |
twig | ãã³ãã¬ã¼ãã¨ã³ã¸ã³ |
faker | ããã¼ãã¼ã¿çæ |
Respect/Validation | å¤ãã§ã㯠|
slim framework | 軽éã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ |
ã©ãããã使ããããªæ©è½ã§ãã
ããããã®ã¯1ããæ¸ãã®ã¯é¢åã§ãããèªåãããè ã®è¯ãããã°ã©ãããããå¦çãã¤ãããã°ãããã°ã©ã å ¨ä½ã®å質ã ã£ã¦ãããã¾ãã
ä¸ä¾ã¨ãã¦ãã¡ã¼ã«éä¿¡
SwiftMailerã¯ã¡ã¼ã«ãéä¿¡ããã©ã¤ãã©ãªã§ãããã¾ãPHPã«ããã¨ãã¨ã¡ã¼ã«éä¿¡ã®ã©ã¤ãã©ãªã¯åå¨ãã¾ããmail()é¢æ°ãmb_send_mail()é¢æ°ã§ã
mailé¢æ°ã使ãå ´åã«ã¯ã以ä¸ã®ããã«ããã°ä¸çºã§ããã
<?php mail( '[email protected]', 'title', 'hello hello!!', 'From: [email protected]' );
ããããmailé¢æ°ã¯æ¥æ¬èªããã¾ãå¦çã§ããªãã®ã§*2mb_send_mailã使ãäºãå¤ãã®ã§ã¯ãªãããªã¨æãã¾ãã
<?php mb_send_mail( '[email protected]', 'é¡å', 'ããã«ã¡ã¯ï¼ããã«ã¡ã¯ï¼', 'From: [email protected]' );
ã¾ããããã¾ã§ã¯ãããã®é¢æ°ã§ãç¹ã«åé¡ããã¾ããã
ãããããã«ãã¡ã¤ã«ãæ·»ä»ãã¦ã¿ã¾ããããâ¦ã¨ãªãã¨ä¸æ°ã«ããããããªãã¾ãã ç§ã¯mailé¢æ°ã§æ·»ä»ãã¡ã¤ã«ãæ±ãäºã¯çµ¶å¯¾ã«ãªãã®ã§ãµã³ãã«ã³ã¼ãã¯æ²è¼ãã¾ãããããmb_send_mail æ·»ä»ãã¡ã¤ã«ãã¨ãã§ã°ã°ãã¨è²ã ã§ã¦ãã¾ãã
mb_send_mail 添付ファイル - Google 検索
å¤åãã¡ã¼ã«å¨ããæã§æ¸ããäºããªããã°ããã£ããªããªã®ãä½ã§ãããªé¢åãªã®ãã¨æãã§ããããã¡ã¼ã«ã¯æ´å²ããããæ§ã ãªä»æ§ãå ¥ã交ãã£ã¦ãã¦è¤éæªå¥ãªã®ã§ãã
è¦ã¯ãæ·»ä»ãã¡ã¤ã«ã¨ããã®ã¯ã¡ã¼ã«ã®æ¬æãè¤éã«å¦çãã¦ããã¡ã¤ã«ãåãè¾¼ãå¿ è¦ãããã®ã§ãããè¨å¤§ãªãä½æ³ãããããç¸æã®ã¡ã¼ã©ã¼ã«ãã£ã¦ã¯ä¸æãåããªãäºããã£ãããã¦é常ã«é¢åãªã®ã§ãèªåã§æ¸ããããªãããªãã®ã§ãã
ãããªæãSwiftMailerãªã©ãã¤ããã°
<?php // ã©ã¤ãã©ãªèªã¿è¾¼ã¿ã¯çç¥ $mail = \Swift_Message::newInstance(); $mail->setTo('[email protected]'); $mail->setSubject('ãã¹ãã¡ã¼ã«'); $mail->setFrom(['[email protected]' => 'ããã']); $mail->setBody('ç»åããããï¼'); $file = \Swift_Attachment::fromPath('/path/to/img.jpg'); $mail->attach($file); $sm = \Swift_Mailer::newInstance(); $sm->send($mail);
ã¾ããæ¦ããããªæãã§æ¸ãäºãã§ãã¾ããããã§å¤§ä½ã®ã±ã¼ã¹ã§ãç¸æã«ãã¡ãã¨ããã¡ã¼ã«ãéããã¨ãã§ãã¾ãã*3
å¸ã«ãããUTF-8ã§ã®ã¨ã³ã³ã¼ãã«å¯¾å¿ã§ãã¦ããªãã¡ã¼ã©ã¼ãããããã®å ´åã¯ç§ã¯qdmailã¨ããæããããã©ã¤ãã©ãªã使ã£ã¦ãã¾ããæ¬å½ã«qdmailã«ã¯ã¬ã©ã±ã¼ã®ããã«ãä¸è©±ã«ãªãã¾ããâ¦ãã¬ã©ã±ã¼ç¸æã«ã¡ããã¨è¡¨ç¤ºã§ãã¦ãçµµæåã¿ãããªã®ãã¤ãããã¡ã¼ã«ããmb_mail_sendã¨ãã§æ¸ãã®ã¯çµæ§æªå¤¢ã§ãï¼ç¹ã«ãã£ãªã¢ãæ©ç¨®ã§ã®åä½ç¢ºèªãâ¦ï¼ã
ãã®ããã«ãæ§ã ãªã¡ã¼ã©ã¼ãMTAã®åä½ä¿è¨¼ãããã®ã¯å¤§å¤ãªã®ã§ãä¿¡é ¼ã®ã§ããã©ã¤ãã©ãªãå©ç¨ããã°ãã®ãããã®æéãæ¸ããäºãã§ãã¤ã¤ãããã°ã©ã ã®å質ãããã£ã¦ããã§ããã
PHPã«ã¯æ¨æºã§ã¯ãªããããªæ©è½
PHPã¯é常ã«è±å¯ãªé¢æ°ãæ©è½ãããªãã¦ããã®ã§ãã©ã¤ãã©ãªããªãã¦ãä¸éãã®ãã¨ãè¡ãäºã¯å¯è½ã§ããããããªãããé«æ©è½ã§ããã¨ã¯è¨ããªããã®ãå¤ãããã¾ãã
å¿è«ãPHPã«æåããç¡ããããªæ©è½ãããã¾ãããã¨ãã°Twitterã¸ã®æ稿ã§ããã
TwitterãFacebookãªã©ã®APIæä½ã¯ãOAuthã¨å¼ã°ããèªè¨¼ããããªããªããã°ãªããªãã®ã§ãå ¨é¨ãèªåã§å®è£ ããã®ã¯é¢åã§ãããããã£ããã®ã¯ç´ ç´ã«ã©ã¤ãã©ãªã使ãæ¹ãéãã¨æãã¾ãã
ã¾ããAmazon Web Servicesãªã©ãå§ãã¨ãã¦ãèªç¤¾ã®APIãå©ç¨ããããããããã«ãèªåã§ä½æãã¦é å¸ãã¦ããã±ã¼ã¹ãããã¾ãã
ã¾ããAPIãªã©ã¯ä»æ§ãããã£ãããããã¨ããããã©ã¤ãã©ãªã®ãã¼ã¸ã§ã³ããããã ãã§ãã®ä»æ§å¤æ´ã«å¯¾å¿ãã§ãããã¨ãããï¼çµ¶å¯¾ã§ããããã§ã¯ãªãï¼ããããã¾ãã©ã¤ãã©ãªãã¤ãããã¨ã®ã¡ãªããã«ãªãã¾ãã
ã©ã¤ãã©ãªãã©ããã£ã¦æ¢ãã®ãï¼
ãã®ããã«ã便å©ãªã©ã¤ãã©ãªã§ãããä¸ã¤ä¸ä¾¿ãªã®ã¯ã©ã¤ãã©ãªãæ¢ãã¨ããè¡çºã§ãã
åºæ¬çã«ã©ã¤ãã©ãªã¯ãããã°ã©ãã³ã°è¨èªã®çµç¹ããå ¬å¼ãã«é å¸ããã¦ãããã®ã§ã¯ãªã*4ãã¿ãªã好ãåæã«å ¬éãã¦ããããã¾ã*5ã ã¤ã¾ãæ¸ç±ãphp.netãªã©ã«ãã¹ã¦ããã¤ãããããå ¬éããã¦ããããã§ã¯ããã¾ããã®ã§ããããã¿ãã°å ¨é¨ããï¼ãã¨ãããã¨ã§ã¯ããã¾ããã
ã¨ã¯ãããããç¨åº¦ãã¤ãã¦ããæå¿ã®ãµã¤ããæ¸ç±ã¯ããã¾ãã®ã§ããããããããããããæè¿ã§ããã°Githubãªã©ãèªåã§æ¤ç´¢ãã¦æ¢ãã¦è¦ã¤ããå¿ è¦ãããã¾ãã æè¿ã ã¨ãComposerã¨å¼ã°ããã©ã¤ãã©ãªç®¡çãã¼ã«ã®ä¸å¤®ã¬ãã¸ããªã§ããPackagist.orgãªã©ã§ãæ¤ç´¢ããäºãå¯è½ã§ãã ã¾ããå ã«è§ãç®ç PHP ã©ã¤ãã©ãªãã¨ãã§ã°ã°ã£ããã¿ã¤ããããããã¾ããã
ããã¤ãæ¹æ³ã¯ããã®ã§ãããããªããåå¿è ã§ããã°ãã¾ãã¯æ¸ç±ãè¦ã¦ã¿ãã®ãããã®ã§ã¯ãªãã§ããããã
ãã¨ãã°ããããã®ãããªæ¬ãããã¾ãã
å人çã«ã¯ããããã£ãæ¸ç±ã¯ã¡ãã£ã¨å¤ããã®ãããããªï¼ã¨æãæããªãããã§ã¯ãªãã®ã§ãããåå¿è ã®æ¹ã«ã¯å¤ãããæ¹ã®ã»ããããããããããããã¾ããã
Composerãã¤ãã£ãã©ã¤ãã©ãªã¤ã³ã¹ãã¼ã«ãªã©ã解説ããã¦ãã¾ãã®ã§ãæã®ããæ¹ãããããªãæ¹ã§ãåèã«ãªãã¨ãããã¾ãã
ã©ãã«ããã決ãã
è¦ã¤ããå¾ããããã¤ã注æãå¿ è¦ã§ã
ã©ã¤ãã©ãªã¯ããã°ã©ã ã®ä¸é¨ã¨ãã¦ã¤ããã¾ãã®ã§ãã©ã¤ãã©ãªããã¡ã«ãªãã¨ãå½ç¶ããã°ã©ã å ¨ä½ããã¡ã«ãªãã¾ããã¤ã¾ããã®ã©ã¤ãã©ãªã«èªåã®ããã°ã©ã ã®éå½ããããããã§ãã
ãã¨ãã°ãPHP5.3æªæºã§ããã¡ããã¨ããããªãã©ã¤ãã©ãªãä»åãå ¥ããã®ã¯ããããªãé¸æã§ãã
é·ãã¤ãããªããå¤ããããªãããªããã¤ãã°ãªã©ããããªããè²ã ãªæã§å©ç¨ããã¦ä¿¡é ¼ã§ãããã©ããã¯éè¦ã§ãã
ãã¨ãã°ã以ä¸ã®ãããªãã¨ã注æã§ããã®ã§ã¯ãªãã§ããããã
- 使ãæ¹ã®ãµã³ãã«ãªã©ããããï¼
- ããã¥ã¡ã³ãã¯è¦ããããï¼ï¼éè¦ã§ããã©ã¤ãã©ãªã®å§¿å¢ãè¦ãã¾ãï¼
- 使ã£ã¦ãã人ãå¤ãããï¼ï¼ã¡ãã£ã¨éè¦ã§ããå°ã£ãã¨ãã«èª¿ã¹ããã¾ããç¹ã«æ¥æ¬èªã®æ å ±ï¼
- ãã°ããããã貯ã¾ã£ã¦ããªããï¼ï¼GithubãªãISSUEãªã©ãè¦ãï¼
- ãã¼ã¸ã§ã³ãã¡ããã¨ããã£ã¦ãããï¼æ¾ç½®ããã¦ããªããï¼
- ã©ã¤ã»ã³ã¹ã¯ã使ãããããï¼ï¼å¾è¿°ãã¾ãï¼
å¿è«ãå¾ã§ãã®ã©ã¤ãã©ãªãå¥ã®ã©ã¤ãã©ãªã«ç½®ãæããããèªåã§æ¸ãç´ãã¦ãã¾ãäºãå¯è½ã§ãããæåããä¸å®ã«ãªããããªè¡çºãããçç±ã¯ããã¾ããã
ãããã¯ãç¸è«ã§ãã人ã«ç¸è«ãã¦ãåé¡ããªããèãã®ãããã§ãããã
ãã ãããã¯ãã£ã¦ãä»äººã«éå½ãé ããããã§ããããããç¨åº¦ã¯å¤©ã«éãã¾ããããã¨ã«ã¯ãªãã¾ãããã²ããã§ããã使ãããã®ãã¤ãããªããªã£ã¦ãã¾ãã¾ãã®ã§ãæ·±ãèããã«ã¨ã¤ã¤ã¨å°å ¥ããæãå¿ è¦ã«ãªãã¾ãã
æ®å¿µãªãã¨ã«ãæ¥æ¬èªã®ã©ã¤ãã©ãªã¯å°ãªãã§ããè±èªã®ãã®ã¨ããã¹ã¦ã1/10ã¨ã1/100ããããããªãã¨ãããã¾ã*6ãè±èªãã©ããã¦ãè¦æãªãã°ãæ¥æ¬èªã§ç´¹ä»ããã¦ããã©ã¤ãã©ãªãéç¹çã«ãããã¾ãããã
ã©ã¤ãã©ãªãã©ããã£ã¦ããããï¼
PHPã®ã©ã¤ãã©ãªã¯è²ã ãªå½¢æ ã§é å¸ããã¦ãã¾ãã
- ã³ã¼ãæçï¼ãã½ã¼ã¹ã³ã¼ãã®ä¸ã«ã³ãããã¦ã¤ããï¼
- zipï¼ãªã©ã®å§ç¸®ãã¡ã¤ã«ãå±éãã¦ããã¡ã¤ã«ãè¨ç½®ããï¼
- pear
- Composer
æ§ã ãªæ¹æ³ãããã¾ãããä»ã¯Composerãã¤ãã£ãæ¹æ³ã§å©ç¨ããã®ãä¸è¬çã«ãªãã¤ã¤ããã¾ãããç§ã¨ãã¦ãä¸çªããããã§ãããã²ä¸åº¦ããã¹ã¦ã¿ã¦ãã ããã
ãããã«ãããå¤ãã®ã©ã¤ãã©ãªï¼ç¹ã«ã人æ°ããã£ã¦ã¤ããããããã®ï¼ã¯ä½¿ãæ¹ãæ¸ãã¦ããã¾ãã®ã§ãããã«å¾ã£ã¦ä¸ããã
ãã¨ãã°zipé å¸ã®å ´åã大ä½ãã¦ã³ãã¼ãããã¨ãPHPã®ã½ã¼ã¹ã³ã¼ããã¯ãã£ã¦ãã¾ãã®ã§ãé©å½ã«ãã¡ã¤ã«ãè¨ç½®ãã¦ãã¿ãã¾ããããã¥ã¡ã³ãéãã«é¢æ°ãã¯ã©ã¹ãªã©ããã³ã ããã¨ã«ãªãã¾ãã
ã¾ããç¹ã«ZIPãªã©ã§é å¸ããã¦ããã©ã¤ãã©ãªã¯ããã¦ã³ãã¼ãããå¾ä¿åãã¦ãããã»ããç¡é£ã§ããçªç¶é å¸ãããªããªãï¼æ¶ãããï¼ãã¨ãå¸ã«ããã¾ãã
ã©ã¤ãã©ãªã§ããããªããã¨ããã£ããã©ãããã°ï¼
å¿è«ããã¥ã¡ã³ããè²ã ããã ããèªåã®ããã°ã©ã ããä¸ç«¯ã¯ãªãã¦ãæå°éã®ãã¹ãã³ã¼ãã§ã©ã¤ãã©ãªãããããã¦ã¿ãã®ã¯éè¦ã§ãï¼èªåã®ã³ã¼ãã使ãæ¹ãããããã£ããã©ããããããªãã®ã§ï¼ãããã§ããã¾ãããããªããã¨ã¯å¤ã æãã¾ããã©ã®ã©ã¤ãã©ãªãå®å ¨ç¡æ¬ ã§ã¯ãªãã®ã§ãã
ãããªãã©ã¤ãã©ãªã®ä½è ã«åãåãããã®ã¯èãç©ã§ããå¾è¿°ããã¾ãããå¤ãã®ãªã¼ãã³ã½ã¼ã¹ã®ã©ã¤ãã©ãªã®ã©ã¤ã»ã³ã¹ã«ããã¦ããªãã®è²¬ä»»ããããªããã¨ããã¾ããã¤ã¾ãããªãã«èª¬æãã責任ãããã¾ãããè¿äºãããããªãã®ãå½ç¶ããããã§ãããããªãã¨ã·ã§ãã¯ãåããããããã¾ããã ï¼ããµãã¼ããã©ã¼ã©ã ãã¨ãããã¦ãã£ã¦ãã¬ã¹ãã¤ããªããã¨ãå¤ãï¼
ã¾ãã¯ããããäºããã¨ã©ã¼ã¡ãã»ã¼ã¸ã§ã°ã°ã£ã¦ã¿ãããã¾ãããããããã¯ã詳ããã¦ã質åã§ãã人ã«è³ªåãã¦ã¿ãã®ãããã§ãããï¼å æ¥ãããéããã³ãã¥ããã£ã«åå ããã¨ãã®ãããªå ´åã«å©ããã¾ãï¼ã
ãããã¯ãè±èªãã§ããã°StackOverFlowãªã©ã®æåãªQ&Aãµã¤ãã§æ¤ç´¢ãããã質åããã®ãããã§ãããï¼å æ¥æ¥æ¬èªçã®StackOverFlowããªã¼ãã³ãã¾ããããã¾ã ãã¾ãæ´»çºã§ã¯ãªãã§ããï¼ã
Stack Overflow - Where Developers Learn, Share, & Build Careers
ããããªãããä¸çªç¢ºå®ã§ãéã«ã¦ã£ã¨ãã°ããã®ã¯ã©ã¤ãã©ãªã®ã½ã¼ã¹ã³ã¼ããèªããã¨ã§ããã©ã¤ãã©ãªã¯ãªãã ããã ã§çµæ§ãã°ã£ã¦ããã¨ãå¤ãã®ã§ãï¼ããæ¬ã¨ã³ããªãèªãæ¹ã«ã¯æ·å± ãé«ãããããã¾ãããâ¦ï¼ããããã°ã§ããªããããã©ã¤ãã©ãªä½è ã«ãããé£çµ¡ããã®ã¯è¯ãäºã§ããã
ã©ã¤ã»ã³ã¹ã«ã¤ãã¦
ã©ã¤ãã©ãªãã½ã¼ã¹ã³ã¼ãã«ã¯èä½æ¨©ãããã¾ãããããä¸ã§ã°ã°ã£ã¦ã¿ã¤ããã½ã¼ã¹ã³ã¼ãã¯ãã¤ãã£ã¦ãããã¨æ¸ãã¦ç¡ããã°ã³ãããã¦ã¤ãã£ããã¯ãã¦ã¯ããã¾ããã
å¿è«ãèªç±ã«ã¤ãã£ã¦ããã§ããï¼ãã¨æ¨ªã«æ¸ãã¦ãã£ããã解説系ã®ãµã¤ããæ¸ç±ã¯ããç¨åº¦åèã«ãã¦ãããã¨ãæ¸ãã¦ããã§ãããããããããã¯å¤§ä¸å¤«ã§ãããï¼ã¨ã¯ããããããããã¨ãµãã£ã¨ãã¦ãã¦ãå人çã«ã¯ã¤ã¤ã§ããï¼ã
ã©ã¤ã»ã³ã¹ãå®ç¾©ããã¦ããã½ã¼ã¹ã³ã¼ãã¯ãã©ã¤ã»ã³ã¹ãå®ãéãæ¯è¼çå®å¿ãã¦ä½¿ãäºãã§ãã¾ããéã«ããã°ãã¡ããã¨ããã©ã¤ã»ã³ã¹ãæ¸ãã¦ããªãã½ã¼ã¹ã³ã¼ãã¯ä½¿ããªãã¨æã£ãæ¹ãããã§ãããã ï¼ç¹ã«ä»äºãªãå½ç¶ã§ããããã®ã³ã¼ãã¯ãããã®ã©ããã§ã²ããã¾ããï¼ãã¨ãã¤ãã¤ãå ¨é¨æ¸ããªããã«ãªãï¼
ã½ã¼ã¹ã³ã¼ããå ¬éããã¦ããï¼ãããã§ãã³ãã¼ãã¦ã¤ãã£ã¦ãããã¨ããæå³ã§ã¯ãªãã®ã§ãã
大ä½ã®ã©ã¤ãã©ãªã®ã©ã¤ã»ã³ã¹ã¯ããã®ã½ã¼ã¹ã³ã¼ãã®å é ãããããã¯LICENSEããªã©ã¨ãããã¡ã¤ã«åã§å梱ããã¦ããã¨ãããã¾ãã®ã§ããããèªã¿ã¾ãããã
大ä½ã®å ´åãè±èªã§æ¸ããã¦ãã¦ã¦ãã¨ãªãã¾ããã大ä½ã®å ´åããã¯å®åçãªãã®ã«ãªã£ã¦ãã¾ãã
å ·ä½çã«ããã°ãMITãGPLããããªãã¯ãã¡ã¤ã³ãªã©ããã°ãã°è¦ãããã¨ãããã¾ãã ããããããããã©ãããæå³ãªã®ãã調ã¹ãã¨ãã£ãããããããã®ã§ãããã¡ããã¨ã°ã°ã£ã¦èª¿ã¹ã¦ã¿ãããã«ãã¾ãããã
ãã ã調ã¹ãã¨ãã¦ããï¼ç¹ã«æ¥æ¬èªã ã¨ï¼å¤§æµã©ããçè«è²ã«ãããã¨ã解éã§ãããããªæ°ãããï¼ãã©è²¬ä»»ã¯æã¡ã¾ããï¼ãã¿ãããªäºãããã¦ããã¨ãããã¾ãã å¤ãã®ã©ã¤ã»ã³ã¹ã¯æ¥æ¬å½å¤ã®æ³å¾ããã¼ã¹ã«èãããã¦ããã®ã¨ãå¤ä¾ãéè¦ããæ¥æ¬ã§ã¯ãå¤ä¾ãã§ãªãã¨ãªãã¨ãå¤æããã¥ããã®ã§ããããï¼ç§ãå°é家ã§ãªãã®ã§ããªãã¨ãããã¾ãããâ¦ï¼
ã¨ã¯ãããããã¾ã§æ°ã«ãã¦ããã¨ããªã¼ãã³ã½ã¼ã¹ã®ã©ã¤ãã©ãªã¯ä½¿ãäºãã§ãã¾ãã*7ããããã£ããããããã¦èªåã§å ¨é¨æ¸ãã¾ãããï¼å®éã®æãæ¥çã«ãã£ã¦ã¯ãªã¼ãã³ã½ã¼ã¹ã®ã©ã¤ãã©ãªã¯æãï¼ã¨ç¦å¿ãã¦ãå ¨é¨èªåéã§æ¸ãæãå¤ãããã¾ãï¼ã
ãã¤ã³ãã¨ãã¦ã大ä½ã©ã®ãªã¼ãã³ã½ã¼ã¹ã©ã¤ã»ã³ã¹ã以ä¸ã®äºãåé¡ã«ãã¦ãã¾ãã
- åé å¸ã®è¨±å¯ï¼èªåãæ¸ããã³ã¼ãã¨ã»ããã§ããã¨ãã°ã客ããã«æ¸¡ãã¦è¯ããï¼
- ã½ã¼ã¹ã³ã¼ãé示ãã©ã®ãããªæã«å¿ é ã«ãªãã
- å ã®ä½è ã¨ãå ã®ã©ã¤ã»ã³ã¹ãæ示ããã
- æ¹å¤ï¼æ¹é ï¼ããã¦ãããããã®å¾ã®ã©ã¤ã»ã³ã¹ã¯ã©ããªãã
- 責任ã®æå¨
ãã®ãããã注æãã¤ã¤ãWikipediaãªã©ãã°ã°ã£ã¦ããã¹ã¦ã¿ã¦ãã ããã
ã»ã¼ãã¹ã¦ã®ãªã¼ãã³ã½ã¼ã¹ã©ã¤ã»ã³ã¹ã¯ãèªåãèªåã®ããã«ã¤ãããèªåã®PCããµã¼ãã§åãããã®ã§ããã°ãããããèããããã»ã¨ãã©ã®ãã¨ã¯åé¡ããã¾ããã
åé¡ã«ãªãã®ã¯ããã®ã©ã¤ãã©ãªã使ã£ã¦ä½ã£ãä½ããä»ã®äººã«æ¸¡ãããã販売ãé å¸ãå ¬éããã¨ãã«ããã£ã¦ãã¾ãã ï¼ãã ããAGPLã¨å¼ã°ããã©ã¤ãã©ãªã ãã¯ããã«ããããããã¦ã§ããµã¼ãã¹ãªã©ã§å ¬éããã¨ãã«ãå ¬é義åãçºçããâ¦ã®ã§ããã詳ããã¯ããã¹ã¦ãã ããï¼ å売ãä»äºã«ãããªããæ°åããå ¥ãã¦ããã¹ã¾ããããéã«å人ã®åå¼·ããã¦ããã¦ãã¯æ·±ãèããªãã¦è¯ãã§ãããã
ã¾ã£ããææ¨ããªãã®ã¯å°ãã¨ãããã¾ãã®ã§ãä¸åã ãè¨ã£ã¦ããã¾ãã¨ãé ·ãéãªè¨ãæ¹ã§ãããMITã©ã¤ã»ã³ã¹ã®ãã®ãããã°ãããã使ãããã«ãã¦ãã ããã
MITã©ã¤ã»ã³ã¹ã¯ããªãå¯å®¹ã§ãããPHPã®ãããªã¹ã¯ãªããè¨èªã®å ´åã«ã¯ãé²éª¨ã«èä½æ¨©è¡¨è¨ãå梱ããã¦ããLICENSEãã¡ã¤ã«ãåé¤ããªããã°èãããã¨ã¯ã»ã¼ãªãã§ãããã*8
ãã°ããããã¨â¦
ã©ã¤ãã©ãªãã¤ãã£ã¦ããã¨ãè²ã ä¸æºãã§ã¦ãã¾ãããããªã£ããèªåã§åµã段éã§ãï¼
â¦ããã¾ããã®ã¨ã³ããªãèªã人ã¯ããã¾ã§ã¯ã¾ã å°éãã¦ããªãã®ã§ã¯ãªãã§ããããããããããã¤ãã¯æ¯éææ¦ãã¦ã¿ã¦ãã ããã
å¼·ãã¦ãã£ã¦ãä»ãããªãã°Composerã«å¯¾å¿ãã¤ã¾ãPackagist.orgã«ç»é²ããã¨ããã®ã§ã¯ãªãã§ãããããã
ãã¨ã¯ãã©ã¤ãã©ãªã®ä½è ã«è¦æããããäºãããããããã¾ãããGithubãªã©ã§å ¬éããã¦ããã°ãISSUEãªã©ã§æ¯è¼çç°¡åã«ãã°å ±åãªã©ãå ±åã§ããã§ããããéããããã°ãªããã¦ããããããåé¿çãæãã¦ããããäºãããã¾ãã
ãã ããªã¼ãã³ã½ã¼ã¹ã®ã©ã¤ãã©ãªã¯ç¸æã«è²¬ä»»ã義åã¯ã¾ã£ãããªãã®ãé常ã§ããã§ããã°èªåã§ç´ããç´ããå 容ããã«ãªã¯ã¨ã¹ããªã©ã§éã£ã¦ãåãè¾¼ãã§è²°ãæ§ã«å¾¡é¡ããã¦ã¿ã¾ãããã ã¾ã¡ãã£ã¦ããããããæ©è½ã俺ãã»ããããã¤ãã£ã¦ããï¼æ¥é±ã¾ã§ã«ï¼ãã¿ãããªã®ã¯éããªãããã«ãã¾ãããï¼ã¨ããããã¨ããã£ã¦ããããªãã¨æãã¾ãï¼ã
ç§ãä½åããã°å ±åããããã¨ãããã¾ãããã½ã¼ã¹ã³ã¼ããã¤ãã¦éã£ã¦ãåå¿ãããããã®ã¯åã ãããã§ãããâ¦ãã¾ãæå ã§ä¿®æ£ãã¦ãããã使ãã¨ããæãããã¾ãï¼ã¡ããã¨æ²ããã§ããï¼ã ãã¤ãã®ãã¼ã¸ã§ã³ã§æ²»ãäºãæå¾ ãã¾ãããã
ã¾ã¨ã
ã©ã¤ãã©ãªãã¤ããã¨ãè²ã ã¨ä¾¿å©ãªæ©è½ãç°¡åã«ã¤ããäºãã§ãã¾ãã ã©ã¤ãã©ãªã¯æ§ã ãªç¨®é¡ããã£ã¦ãããããèãã¤ããããªãã¨ã¯ãã§ã«ã©ã¤ãã©ãªã«ãªã£ã¦ããããã¾ãã èªåãè¤éãªãã¨ãã§ããªãã¨ããã©ã¤ãã©ãªãæ´»ç¨ãã¦é åçãªããã°ã©ã ãã¤ããã¾ãããï¼ ãã ããã©ã¤ã»ã³ã¹ãªã©ã«ã¯ãã¡ãã¨ãããããæ£ããæ´»ç¨ããããã«ãã¾ãããï¼
æå¾ã«ãããªããã°ãªããªã宣ä¼
ãã¦ã宣ä¼ã¿ã¤ã ã§ãã帰ããªãã§ä¸ããã
ã¾ãå度ã®æ¸ç±ã®å®£ä¼ã§ããæ¬ã¢ããã³ãã«ã¬ã³ãã¼ã¿ã¤ãã«ã®æ¸ç±ã§ãã
ãã®ã¨ã³ããªãå½¹ç«ã¤æ¹ã«ã¯ãã¾ã ã¡ãã·ãããã·ãããããã¾ãããå³åº§ã«è²·ãã¨ã¯ããã¾ãããããã¤ãã¯è²·ã£ã¦æ¬²ããã§ããã¾ããæ¬å±ã«ãã£ã¦ä»ã®æ¸ç±ã®ã¤ãã§ã«ç«ã¡èªã¿ãã¦ã¿ãã®ãè¯ãã§ããããè²·ã£ã¦æ¬²ããã§ããã
ããããã®æ¸ç±ã®å 容ãç解ã§ããã°ãããããä»äºã§ããªãã¨ããã£ã¦ãããã¬ãã«ã«ããã®ã§ã¯ãªãã§ããããããã®ãããªãã³ããã¼ã¯ã¨ãã¦ãå½¹ç«ã¤ã¨èãã¦ããã¾ããã¤ã¾ãã¯è²·ã£ã¦ããã ãããï¼ã¨ãããã¨ã§ãã
ããªããã°ãªããªã宣ä¼ï¼
æ¥å¹´ã®å¤ã«éå¬ãããYAPC::Asia Tokyo 2015ã«ã¤ãã¦ã§ãã
YAPC::Asia Tokyoã¯ä¸çæ大ç´ã®ã¨ã³ã¸ãã¢ã®æã«ããèã®æ ¹æè¡ã«ã³ãã¡ã¬ã³ã¹ã§ããããã¾ã§9åéå¬ãããæ§ã ãªæè¡ã«é¢ããçºè¡¨ããã¦æè¡è å士ã®åºä¼ããçãã§ãã¾ããã
ããªããã¨ã³ã¸ãã¢ã³ãã¥ããã£ã£ã¦ããããã¨ããããã©â¦ããã«ã³ãã¡ã¬ã³ã¹ã£ã¦ã©ããªã®ï¼ãã£ããã¨ãªããã¨ãã人ã§ããã£ã¨æ°ããçºè¦ãããã¤ãã³ãã¨ãªãã¾ãã®ã§æ¯éã¨ããã§ãã¯ãã¦ãã ããã
YAPCã¯Perlã®ã«ã³ãã¡ã¬ã³ã¹ã¨æãããã¡ã§ããï¼å®éãããªã®ã§ããï¼ãã©ããªè¨èªã®äººã§ãããã£ã¨PHPã®äººã§ã楽ãããã¤ãã³ãã«ãªã£ã¦ããã¾ãããªã«ãå»å¹´ã®ãã¹ããã¼ã¯è³ã¯PHPã®ãã¼ã¯ã§ãã*9ã
æ¥å¹´ã¯10å¹´ç®ãã¤ãä»ã®éå¶ã«ãããæå¾ã®éå¬ã¨ãªããè¦æ¨¡ãã話é¡ã®ããªã¨ã¼ã·ã§ã³ãééããªããã¯ã¼ã¢ãããã¾ãã®ã§ãæ¯éæ¥å¹´ã®ã¹ã±ã¸ã¥ã¼ã«ã«ããã¦ããã¦ã¯ãããã§ããããï¼
â¦ã¨ãã£ã¦ããæ¥å¹´ã®è©±ã§ã¯å¿ãã¦ãã¾ãã§ããããè¿æ¥ä¸ã«ãç¥ãããã¨ã©ããã¡ã¼ã«ãã¬ã¸ã³çãªãã®ãã§ããã¯ãã§ãï¼éæä½æä¸ï¼
æ¬æ¥ã®æã¯ãã¾ãã¯å ¬å¼Twitterã¢ã«ã¦ã³ãã®ãã©ãã¼ãªã©ãããã¦ã¯ãããã§ããããï¼
ã¨ãã£ã宣ä¼ããããªã£ãæã§ããã¡ãããã¯ä»¥ä¸ã§ããã¾ã次åãä¼ããã¾ãããï¼
*1:ã¶ãã¯ãªãã¦ã¾ãããã¾ããããããã¨ã§ããã
*2:ããããã¨ããã¨ãå¤å°é¢åãªã®ã§
*3:ä¸è¨ã¯éå»ã®ã³ã¼ãããã³ããæ´å½¢ãã¦ãããåãããããã¾ããããã¿ã¾ãã
*4:ããè¨ãç©ããã£ãããã¾ãã
*5:ãããã¯ã販売ãã¦ããå ´åãããã¾ã
*6:æ¥æ¬äººãã¤ãã£ã¦ããã©ã¤ãã©ãªã§ããè±èªã§ããã¦ãããã¨ãå¤ãã§ã
*7:ãããããå¤ãã®å ´åãé å¸ãã¦ãã人ãæ³å¾ã®å°é家ã§ã¯ãªãã
*8:ã³ã¼ããããªã«ãèããã«åæã«èä½æ¨©è¡¨è¨ãæ¶ãã®ã¯ããã¾ãããï¼ï¼ããã¯ã©ã¤ãã©ãªã§ãä½ã§ãããã§ã
*9:ã¨ãããç§ã§ã