ã¦ãã¼ã¯ãªIDãçæããæ¹æ³
CakePHP 1.2RC3ãå©ç¨ãã¦ãã¾ãã
ã¦ã¼ã¶ç»é²ãªã©ã§ã¢ã«ã¦ã³ãã¢ã¯ãã£ãã¼ã·ã§ã³ããéã«ãã¦ãã¼ã¯ãªIDãå«ãURLãçºè¡ãã¦ã¡ã¼ã«ã§éä¿¡ãããã®URLã«ã¢ã¯ã»ã¹ãããæ¹æ³ã¯è¯ãè¦ããã¾ãã
ã¦ãã¼ã¯IDãphpã§åºåããä¸ä¾ã¨ãã¦
md5(uniqid(rand(),1));
ã¨ããæ¹æ³ãªã©ã§md5é¢æ°ã®åºåçµæãç¨ããå ´åãããã¾ãï¼ä¸è¨URLåç
§ï¼
http://d.hatena.ne.jp/kakku22/20081016/1224154493
CakePHPã使ã£ã¦ãã¦ãã¼ã¯ãªIDãç°¡åã«çºè¡ããæ¹æ³ã¯ãã³ã³ããã¼ã©ã§
$uuid = String::uuid();
ã¨ããã¨ã$uuidã«
494955da-0a5c-408f-ab20-0778ff2fc4a6
ã¨ãããããªã¦ãã¼ã¯IDãå«ã¾ãã¾ãã
ããã¯CakePHPã®cake/libs/string.phpã®uuidã¡ã½ãããå©ç¨ãã¦ãã¾ãã
uuidã¡ã½ããã®ã½ã¼ã¹ã³ã¼ããè¦ãã¨ããµã¼ãã®IPã¢ãã¬ã¹ãããã»ã¹IDã®åå¾ã®å¾ã«ãä¸è¨ã®ã³ã¼ãã§uuidãçæãã¦ãã¾ãã
list($timeMid, $timeLow) = explode(' ', microtime());
$uuid = sprintf("%08x-%04x-%04x-%02x%02x-%04x%08x", (int)$timeLow, (int)substr($timeMid, 2) & 0xffff,
mt_rand(0, 0xfff) | 0x4000, mt_rand(0, 0x3f) | 0x80, mt_rand(0, 0xff), $pid, $node);
return $uuid;
ãã®å®è£
ã¯ãä¸è¨ã®RFCã«æºæ ãã¦ãã¾ãã
http://www.ietf.org/rfc/rfc4122.txt