ã¯ããã« Symfony2 ã§ä½ã£ãã¢ããªãåã㦠Heroku ã«ãããã¤ãããã§ãããæå¤ã¨ Web ã«æ å ±ãå°ãªãã¦ã¡ããã¡ããå°ã£ãã®ã§ãå®éã«è¡ã£ãæé ãã¾ã¨ãã¦ããã¾ãã Symfony2 ã®ã¢ããªã¯ãã¼ã«ã«ã§åãã¦ã¦ããã¨ã¯é©åã«ãããã¤ãããã ããã¨ããåæã®ã話ã§ããï¼Symfony ã®ãã¼ã¸ã§ã³ã¯ 2.6 ã§ãï¼ BEAR.Sunday ã¢ããªã®ã話ã ãã¡ã ã«ããã¾ãã®ã§ããããããã°ã覧ãã ããã Heroku ã®ç°å¢æºå ã¾ã㯠Heroku èªä½ã使ããç¶æ ã«ãªãã¾ãããã 1. ã¢ã«ã¦ã³ããä½æ ä½ã¯ã¨ããã Heroku ã® ã¢ã«ã¦ã³ããä½æ ãã¾ãã 2. heroku-toolbelt ãã¤ã³ã¹ãã¼ã« heroku ã³ãã³ãã使ããããã«ããããã«ãheroku-toolbelt ã¨ãããã¼ã«ãã¤ã³ã¹ãã¼ã«ãã¾ãã Web ãããã¦ã³ãã¼ã ãã¦ã¤ã³ã¹
hakaikosen.hateblo.jp ä¸è¨è¨äºãããã大å¤(æ£èªã¿)ãã¨ãæããªããèªãã§ããããã©ãPHP ã® BTS ã®æ¹ãèªãã§ã¿ãã確ãã«åçããåç¾æé ã¾ã§ç´°ããè¨è¼ããã¦ã㦠ããªããããã¾ããããã¨æã£ãã®ã§ãdocker ã使ã£ã¦æ¤è¨¼ãã¦ã¿ããã¨ã«ã PHP å ¥ãã® Docker ã³ã³ããã¯ãOfficial ã®ãã®ãå©ç¨ãã¾ãããregistry.hub.docker.com ä»åã®èå¼±æ§ãPOST ããªããã¼ã¸ã«ã¯é¢ä¿ãªãã®ããªï¼ã¨æã£ã¦ã¾ããããããããè¦ã㨠PHP ããåããã¼ã¸ã§ããã°ãªãã§ããããããã ã¨ãããã¨ã§ä»¥ä¸ã®ãã㪠PHP ãã¡ã¤ã«ãç¨æããããã«ã¢ã¯ã»ã¹ (æ»æ) ããã¾ãã htdocs/index.php <!DOCTYPE html> <html> <head> <title>PHP Bugs #69364</title> </he
9. åé¡ã®å®è£ 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php class BlackListDB { const DBPATH = "/tmp/db.gdbm"; public function isBlock($id) { $dbh = dba_open(self::DBPATH, "r", "gdbm"); if ($dbh === false) { return null; } $ret = dba_exists($id, $dbh); dba_close($dbh); return $ret; } } 10. åé¡ç¹ 10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php class BlackListDB { const DBPATH = "/tmp/db.gdbm"; publ
ãã¾ã©ãã®PHPéçºãã¦ãã¦ãè©°ãè¾¼ãã ãPHPã¨ã³ã¸ãã¢é¤æèªæ¬ããåºãã®ã§ãè¦æãã¾ã¨ãã¦ã¿ãã 2013å¹´08æ27æ¥ 13:02PHP ãã®æ¬ã«è¨äºãæ¸ãã¾ããã9æ13æ¥çºå£²äºå®ã§ãã Amazon.co.jp PHPã¨ã³ã¸ãã¢é¤æèªæ¬ ãããªå 容 以ä¸ã®é ç®ã®ã©ããã«ãã³ã¨æ¥ã人ã¨ã ãã¾ãã¡ãã³ã¨æ¥ãªãã¨ãã人ã®ããã®æ¬ã§ãã PHPæåç· PHPã®ææ°åå ãã¾ã©ãPHPéçºææ³å ¥é [ææ°]ã©ã¤ãã©ãª&ãã¬ã¼ã ã¯ã¼ã¯æ´»ç¨ã®åºç¤ç¥è [æ°å®çª]Composerã®åºç¤ã¨æ´»ç¨ ãã¬ã¼ã ã¯ã¼ã¯ãæ¬å½ã«ä½¿ãããªãããã®èãæ¹ Symfonyæ´»ç¨ã®ãã¤ã³ã FuelPHPæ´»ç¨ã®ãã¤ã³ã CakePHPæ´»ç¨ã®ãã¤ã³ã 注ç®ãã¬ã¼ã ã¯ã¼ã¯ç·ããã ç¾å ´ã§å½¹ç«ã¤ PHPã¨ã³ã¸ãã¢ã®éçºè¡ PHPUnitã§ã¯ãããèªåãã¹ã Gitã§ã°ã£ã¡ãã½ã¼ã¹ã³ã¼ã管ç ãã¾ããèããªããå ¬ééµèªè¨¼ã
ååæºåãããPHPUnitãã®ãµã³ãã«ãããªãã¸ã§ã¯ãå¶æ¥½é¨ãã§ç´¹ä»ããã¦ãããè»çªããã®TDDã(PDF)ã¨ããè¨äºãåèã«ãTDD(Test Driven Development / ãã¹ãé§åéçº)ã¨ãã¢ããã°ã©ãã³ã°ã®æ¼ç¿è¨äºãPHPUnitã§ãªãã£ã¦ã¿ããæ®å¿µãªããèªå® ã§ç¬ãã§æ¸ããã®ã§ããã¢ããã®ãµã³ãã«ã«ã¯ãªããªããã ä½ãã®ã¯ã¹ã¿ãã¯ã¯ã©ã¹ãä»æ§ã¯â¦ isEmpty()ã§ã¹ã¿ãã¯ã空ã®å ´åãtrueããã以å¤false ãè¿ãã boolean isEmpty()size()ã§ã¹ã¿ãã¯ã®ãµã¤ãºãåå¾ããã int size()push()ã§å¼æ°ã®å¤ãã¹ã¿ãã¯ã®ä¸çªä¸ã«ç©ãã void push(int value)pop()ã§ã¹ã¿ãã¯ã®ä¸çªä¸ã®å¤ãåãé¤ãã void pop() ã¹ã¿ãã¯ã空ã®å ´åãjava.util.EmptyStackException ãçºçããt
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}