[ת] ÃæÏò PHP ¿ª·¢ÈËÔ±µÄ CouchDB »ù´¡ÖªÊ¶
Thomas Myer, ¸ºÔðÈË, Triple Dog Dare Media
Thomas Myer ÊÇÒ»Ãû¹ËÎÊ¡¢×÷¼ÒºÍ½²Ê¦£¬¾ÓסÔÚ Austin¡£Ëû´´Á¢ÁË Triple Dog Dare Media ²¢ÔÚ Twitter ÉÏÒÔ @myerman ׫д²©ÎÄ¡£
¼ò½é£º ×÷Õß Thomas Myer Ïò×ÊÉî PHP ¿ª·¢ÈËÔ±½²ÊöÈçºÎ°Ñ CouchDB Ìí¼Óµ½ËûÃǵļ¼Êõ¹¤¾ßÏäÖС£
Èç¹ûÄúÊÇλµäÐ굀 PHP ¿ª·¢ÈËÔ±£¬¾Í²»ÄÑͨ¹ýÒÔÍùµÄÏîÄ¿µÃµ½ÕâÑùÒ»¸ö½áÂÛ£ºÔÚ¶àÊý£¨Èç¹û²»ÊÇÈ«²¿£©Çé¿öÏ£¬ÎªÁ˽øÐж¯Ì¬Êý¾Ý´¦Àí£¬Äú¶¼»áÈà PHP ÓëÊý¾Ý¿âºó¶Ë½øÐжԻ°£»¶øÔÚÕâЩʵÀýÖУ¬99% µÄÇé¿öÏÂʹÓõͼÊÇ MySQL¡£
Èç½ñ£¬Ê¹ÓùØÏµÐÍÊý¾Ý¿âÎ޿ɺñ·Ç¡£Èç¹ûËù´¦ÀíµÄÊý¾Ý½á¹¹¸´ÔÓ£¬²¢¾ßÓжàÖÖ¹ØÏµ£¬ÄÇôÕâô×öÊǺܺÏÀíµÄ¡£Äú¿ÉÒÔ˳ÀûµØ£¨»òÊDz»Ì«Ë³ÀûµØ£¬È¡¾öÓÚÄú¶Ô SQL µÄÊìϤ³Ì¶È£©½øÐжÔģʽ¡¢Êý¾Ý¹ØÏµ¡¢±íµÈµÈµÄ´¦Àí¡£
²»¹ý£¬ÄúËù´ÓʵÄÏîÄ¿ÓÐʱҲ»áÈÃÄú²»¾Òâ¼äÐÄÉúÒÉÎÊ£º“ΪʲôÎÒÒª×öËùÓÐÕâЩ¹¤×÷£¿” ÄúËù´ÓʵÄÕâ¸öÏîÄ¿°üº¬ÁËһЩ¼òµ¥µÄ»òÄÑÒÔÔ¤²âµÄÊý¾Ý — ÔÚ²»Í¬µÄÈÕ×Ó»ñµÃµÄÊý¾Ý×ֶοÉÄܲ»Í¬ÉõÖÁÊÂÎñÖ®¼äµÄÊý¾Ý×ֶζ¼²»¾¡Ïàͬ¡£ÈôÊÇ´´½¨Ò»¸öģʽÀ´Ô¤²â½«»á³öÏÖʲôÊý¾Ý×ֶΣ¬½á¹ûºÜ¿ÉÄÜ»áµÃµ½ÄÚº¬´óÁ¿¿Õ×ֶεıí»ò´óÁ¿µÄÓ³Éä±í¡£
³£ÓÃËõÂÔÓï
Ajax£ºÒì²½ JavaScript + XML
API£ºÓ¦ÓóÌÐò±à³Ì½Ó¿Ú
GUID£ºÈ«¾ÖΩһ±êʾ·û
HTTP£º³¬Îı¾±ê¼ÇÓïÑÔ
JSON£ºJavaScript ¶ÔÏó×¢ÊÍ
REST£º¾ßÏó״̬´«Êä
SQL£º½á¹¹»¯²éѯÓïÑÔ
UUID£ºÍ¨ÓÃΩһ±êʶ·û
¶ÔÓÚÕâЩÏîÄ¿£¬ÄúÐèÒª²ÉÓÃÒ»ÖÖ²»Í¬µÄ·½Ê½ — ²»Éæ¼°¹ØÏµÐÍÊý¾Ý¿â¡£ÔÚÕâЩÇé¿öÏ£¬ÄúÐèÒªµÄÊÇÒ»¸ö»ùÓÚÎĵµµÄ¡¢Ã»ÓÐģʽµÄ¡¢¾ßÓÐ±âÆ½µØÖ·¿Õ¼äµÄÌØ±ðÊý¾Ý¿â¡£¼òÑÔÖ®£¬ÄúÐèÒª Apache CouchDB¡£
ʲôÊÇ CouchDB£¿
CouchDB ÊÇ£¨¸ù¾Ý Apache CouchDB ÍøÕ¾£©£º
Ò»¸öÎĵµÊý¾Ý¿â·þÎñÆ÷£¬¿Éͨ¹ý RESTful JSON API ·ÃÎÊ¡£
ÎªÌØÊâÄ¿µÄ¶øÉè¼Æ£¬ÎÞģʽ£¬¾ßÓÐ±âÆ½µØÖ·¿Õ¼ä¡£
·Ö²¼Ê½µÄ¡¢ÌØÐԷḻ¡¢¾ß±¸Ë«Ïò³åÍ»¼ì²â¼°¹ÜÀíµÄÔöÁ¿¸´ÖÆ¡£
¿É²éѯ¡¢¿ÉË÷Òý¡¢¾ßÓÐÒ»¸öÃæÏò±íµÄ±¨±íÒýÇæ£¬Ê¹Óà JavaScript ×÷ΪÒýÇæµÄ²éѯÓïÑÔ¡£
ÕâÒâζ×Å£¬Äú¿ÉÒÔ´´½¨Ò»¸öÄܹ»½ÓÊÜ JSON ÎĵµµÄ CouchDB Êý¾Ý¿â¡£Ã¿¸öÎĵµ¾ùÓÐÒ»¸öΩһµÄÐÞ¶© ID ºÍ×ÔÉí½á¹¹£¬¶øÇÒËùÓÐÎĵµ¾ù´æ´¢ÓÚͬһ¸ö±âƽµÄ¼¯ºÏÄÚ¡£ÀýÈ磬¼ÙÉèÄúÉèÖÃÁËÒ»¸ö¼òÀú¼¯¡£µÚÒ»¸ö¼òÀú¾ßÓеÄ×ֶΰüÀ¨£ºÃû¡¢ÐÕ¡¢µç»°ºÅÂë¡¢µç×ÓÓʼþµØÖ·¡¢Twitter ÕÊ»§¡¢Ìس¤ÒÔ¼°ÏêϸµÄ¹¤×÷¾Àú¡£¶øµÚ¶þ¸ö¼òÀúÔòÖ»ÓÐÃû¡¢ÐÕ¡¢µç×ÓÓʼþµØÖ·ÒÔ¼°Ò»¸ö¼ò¶ÌµÄ¹¤×÷¾Àú¡£ÕâÖÖ²îÒì×
Ïà¹ØÎĵµ£º
×òÌìÎÒÃÇʵÏÖÁËÒ»¸ö¼òµ¥µÄËÑË÷¹¦ÄÜ£¬½ñÌìÎÒÏëÁËһϣ¬Æäʵ»¹ÓпÉÒԸĽøµÄµØÖ·£¬ÈçÖ±½ÓÓÃIndex.php´úÌæSearch.php¡£
ÐÞ¸ÄIndex.phpÎļþ£¬ÐÞ¸ÄÒ»ÏÂËÑË÷±íµ¥
<!---ËÑË÷¿ò--->
<!--ÕâÀïµÄËùÓÐÖµÇ°Ãæ¼Óǰ׺“S_”ÒÔÇø·Ö-->
<form id="form1" name="form1" method="get" action="Index.php">
&n ......
PHPÓïÑÔ±¾ÉíÊDz»Ö§³Ö¶àÏ̵߳Ä. ×ܽáÁËÒ»ÏÂÍøÉϹØÓÚPHPÄ£Äâ¶àÏ̵߳ķ½·¨, ×ܵÄÀ´Ëµ, ¶¼ÊÇÀûÓÃÁËPHPµÄºÃ»ï°éÃDZ¾ÉíËù¾ßÓеĶàÏß³ÌÄÜÁ¦.
PHPµÄºÃ»ï°éÖ¸µÄ¾ÍÊÇLINUXºÍAPACHEÀ², LAMPÂï.
ÁíÍâ, ¼ÈÈ»ÊÇÄ£ÄâµÄ, ¾Í²»ÊÇÕæÕýµÄ¶àÏß³Ì. ÆäʵֻÊÇ¶à½ø³Ì. ½ø³ÌºÍÏß³ÌÊÇÁ½¸ö²»Í¬µÄ¸ÅÄî. ºÃÁË, ÒÔÏ·½·¨¶¼ÊÇ´ÓÍøÉÏÕÒÀ´µÄ.
1. ÀûÓÃLIN ......
$_GET ±äÁ¿ÓÃÓÚÊÕ¼¯À´×Ô method="get" µÄ±íµ¥ÖеÄÖµ¡£
$_GET ±äÁ¿
$_GET ±äÁ¿ÊÇÒ»¸öÊý×飬ÄÚÈÝÊÇÓÉ HTTP GET ·½·¨·¢Ë͵ıäÁ¿Ãû³ÆºÍÖµ¡£
$_GET ±äÁ¿ÓÃÓÚÊÕ¼¯À´×Ô method="get" µÄ±íµ¥ÖеÄÖµ¡£´Ó´øÓÐ GET ·½·¨µÄ±íµ¥·¢Ë͵ÄÐÅÏ¢£¬¶ÔÈκÎÈ˶¼ÊǿɼûµÄ£¨»áÏÔʾÔÚä¯ÀÀÆ÷µÄµØÖ·À¸£©£¬²¢ÇÒ¶Ô·¢Ë͵ÄÐÅÏ¢Á¿Ò²ÓÐÏÞÖÆ£¨×î¶à 100 ¸ö ......
1.Ò³ÃæÖ®¼äÎÞ·¨´«µÝ±äÁ¿
get,post,sessionÔÚ×îеÄphp°æ±¾ÖÐ×Ô¶¯È«¾Ö±äÁ¿Êǹرյģ¬ËùÒÔÒª´ÓÉÏÒ»Ò³ÃæÈ¡µÃÌá½»¹ýÀ´µÃ±äÁ¿ÒªÊ¹ÓÃ$_GET['foo'],$_POST['foo'],$_SESSION['foo']À´µÃµ½¡£µ±È»Ò²¿ÉÒÔÐÞ¸Ä×Ô¶¯È«¾Ö±äÁ¿Îª¿ª(php.ini¸ÄΪregister_globals = On)£»¿¼Âǵ½¼æÈÝÐÔ£¬»¹ÊÇÇ¿ÆÈ×Ô¼ºÊìϤеÄд·¨±È½ÏºÃ¡£
2.Win32 ......