ÆÊÎöindex.phpµÄ»ù±¾×÷ÓãºÍøÒ³±³ºóµÄÖ¸»ÓÖÐÐÄ
ÔÚÿһ¿îÀֳɵÄPHPÍøÕ¾±³ºó£¬Òþ²Ø×ÅÎÞÊý³ÌÐòÔ±µÄÐÁÇÚÖ§¸¶£¬¶ø¡°index.php¡±ÎÞÒÉÊÇPHPÍøÂçÓ¦ÓÃÖÐ×îÖ÷ÒªµÄ¡°Ö¸»Ó¹Ù¡±¡£Ëü¼ÈÊÇÍøÕ¾µÄÈë¿Ú£¬Ò²ÊÇά»¤Õû¸öÓ¦Óüܹ¹µÄÊàŦ¡£Ã÷È·index.phpµÄÏêϸ×÷Óã¬ÓÌÈçÕ¹ÏÖÒ»Á¾Æû³µÒýÇæ¸ÇϵÄÉñÃØ£¬²Å»ªÕæÕýÃ÷È·PHPÍøÕ¾µÄ½¹µãÂß¼ºÍÉè¼ÆÔÔò¡£
Ëùν¡°index.php¡±£¬×ÖÃæÃ÷È·¾ÍÊÇ¡°Ë÷Òý¡±¡£ÔÚWeb¿ª·¢ÖУ¬Ëü¾ÍÊÇÿһ»á¼ûÇëÇóµÄµÚÒ»Õ¾£¬Ò²ÊÇËùÓÐÇëÇó½øÈëÍøÕ¾ºóµÚһʱ¼ä±»²¶»ñ¡¢´¦Öóͷ£ºÍÏìÓ¦µÄ¾ç±¾Îļþ¡£Ã¿¸ö»á¼ûÍøÕ¾µÄÓû§£¬ÎÞÂÛÊÇͨ¹ýÍøÒ³Á´½Ó¡¢ËÑË÷ÒýÇæ£¬ÕÕ¾ÉÖ±½ÓÊäÈëÓòÃû£¬×îÖÕ¶¼ÈƲ»¿ªÕâ¸öÒªº¦Îļþ¡£
Ϊʲôindex.phpÔÆÔÆÖ÷Òª£¿Ëü¼ç¸º×ÅÇëÇó·Ö·¢µÄʹÃü¡£µ±Óû§·¢³öÇëÇ󣬺ñȻá¼û¡°example.com/products¡±£¬ÇëÇó»áÏȵִïЧÀÍÆ÷£¨ÈçApache»òNginx£©£¬½Ó×ÅÓÉЧÀÍÆ÷ѰÕÒĬÈÏÊ×Ò³Îļþ¡ª¡ªÍ¨³£¾ÍÊÇindex.php¡£
ÕâʹµÃindex.php³ÉÎªÍøÕ¾ÓëÓû§½»»¥µÄ¡°ÃÅÃæ¡±£¬ÈÏÕæ½â¶ÁÇëÇó£¬×ßÖ¸µ¼Á÷³Ì£¬Å²Óòî±ðµÄÓªÒµÂß¼¡£
index.phpÔÚÍøÕ¾µÄ¡°Ç°¶Ë¡±ºÍ¡°ºó¶Ë¡±Ö®¼äÊÎÑÝÇÅÁº½ÇÉ«¡£Ëü×÷Ϊ½ÓÈëµã£¬¼ÓÔØÉèÖòÎÊý¡¢³õʼ»¯ÇéÐΡ¢ÅþÁ¬Êý¾Ý¿â£¬È»ºóƾ֤²î±ðµÄÇëÇó·¾¶£¨ºÃ±È·ÓÉÐÅÏ¢£©Å²Óòî±ðµÄ¿ØÖÆÆ÷»òÒ³Ãæ£¬×îºó½«ÌìÉúµÄÄÚÈÝÊä³ö¸øÓû§¡£
¶øÔÚÏÖ´úPHP¿ª·¢ÖУ¬index.phpÍùÍùÒ²ÔÚÖÐÐļþ¡¢¿ò¼Ü¼Ü¹¹ÖÐÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«¡£Ïà½ÏÔçÆÚµÄ¾²Ì¬ÍøÒ³Ê±´ú£¬ËüʵÏÖÁËÇëÇóµÄ¶¯Ì¬·Ö·¢ºÍ¿ØÖÆ¡£ºÃ±È£¬Ê¹Óÿò¼ÜÈçLaravel¡¢SymfonyµÈ£¬index.php»áÅäºÏ·ÓÉ£¨routing£©ÏµÍ³£¬½«²î±ðµÄURLÓ³Éäµ½¶ÔÓ¦µÄ´¦Öóͷ£Âß¼ÉÏ¡£
¹ØÓÚ¡°µ¥Èë¿Ú¡±ºÍ¡°ÇëÇóµ÷Àí¡±ÏÖ´úÍøÕ¾Ï²»¶½ÓÄÉ¡°µ¥Èë¿Ú£¨SingleEntryPoint£©¡±Éè¼ÆÍ·ÄÔ¡£ÎÞÂÛÊÇRESTfulAPIÕվɹŰåÍøÒ³£¬ËùÓÐÇëÇó¶¼¼¯ÖÐÓÉindex.phpͳһµ÷Àí¡£ÕâÑù×ö´øÀ´ÁËÔöÇ¿µÄ¿ØÖÆÄÜÁ¦£¬ÈÝÒ×ʵÏÖ»º´æ¡¢È¨ÏÞÖÎÀí¡¢ÇëÇó×èµ²µÈ¡£
¸ü½øÒ»²½£¬index.phpµÄ´úÂëͨ³£»á°üÀ¨Ò»Ð©Òªº¦µÄ´¦Öóͷ£Á÷³Ì£º
¼ÓÔØÉèÖÃÎļþ£ºÈçÊý¾Ý¿âÅþÁ¬ÐÅÏ¢¡¢ÏµÍ³³£Á¿µÈÆôÓùýʧµ÷ÊÔģʽ£º°ü¹Ü¿ª·¢Öеĵ÷ÊÔÐÅÏ¢Ö±´ï»á»°ºÍcookiesÖÎÀí£ºÎ¬»¤Óû§×´Ì¬Â·ÓÉÆ¥Å䣺ƾ֤ÇëÇóURLÕÒµ½¶ÔÓ¦´¦Öóͷ£Â߼ŲÓÿØÖÆÆ÷£¨Controller£©£ºÈÏÕæÏêϸӪҵÂß¼Ö´ÐÐäÖÈ¾Ò³Ãæ»ò·µ»ØJSON£ºÏìÓ¦Óû§ÇëÇó
ÕâЩÁ÷³ÌÔÚ¿´ËƼòÆÓµÄindex.phpÎļþÖÐÅäºÏÐ×÷£¬ÐγÉÁËÕû¸öÍøÕ¾´¦Öóͷ£ÇëÇóµÄ¡°·¢ÄîÍ·¡±¡£
Ïêϸ½â¹¹index.phpµÄ½¹µã½á¹¹Ò»¸öµä·¶µÄindex.phpÎļþ£¬½á¹¹´óÖÂÈçÏ£º
handle();?>
Õâ¸öʾÀýÖУ¬index.phpÏñÒ»¸ö¡°×Ü¿ØÌ¨¡±£¬°ÑÇëÇó·Ö·¢µ½²î±ðµÄ¿ØÖÆÆ÷£¬°ü¹ÜÁËÍøÕ¾½á¹¹µÄÇåÎúºÍ¿Éά»¤ÐÔ¡£
×ܽáindex.phpËäС£¬È´ÊÇÕû¸öPHPÍøÕ¾µÄ¡°Éñ¾ÖÐÊࡱ¡£Ã÷È·ËüµÄ×÷Ó㬱ãÄܸüºÃµØÕÆÎÕÍøÕ¾µÄÇëÇóÁ÷³Ì¡¢¼Ü¹¹Éè¼ÆÓëÀ©Õ¹Ë¼Ð÷¡£Ëü²»µ«ÊǼòÆÓµÄÈë¿ÚÎļþ£¬¸üÊÇPHP¼Ü¹¹ÖС°ÇëÇóµ÷Àí¡¢ÇéÐγõʼ»¯¡¢¿ª·¢¹æ·¶¡±µÄ½¹µã°ü¹Ü¡£ÎÒÃǽ«ÉîÍÚindex.phpÔÚÏÖ´úPHP¿ò¼ÜÖеĽø½×½ÇÉ«£¬ÒÔ¼°ÔõÑù½èÖúËü´òÔì¸ü¸ßЧ¡¢¸üÇå¾²¡¢¸ü¾ßÀ©Õ¹ÐÔµÄWebÓ¦Óá£
index.phpÔÚÏÖ´úPHP¿ò¼ÜÖеÄÑݱ䣺´Ó¼òµ¥Èë¿Úµ½ÖØ´óµ÷ÀíÖÐÐÄ
Ëæ×ÅWebÊÖÒÕµÄÉú³¤ºÍ¿ª·¢ÐèÇóµÄÖØ´óת±ä£¬index.phpÔÚPHPÉú̬ÖеĽÇɫҲÔÚÖð²½Ñݱ䣬´ÓÒ»¸ö´¿´âµÄÇëÇóÈë¿Ú£¬Öð½¥Éú³¤ÎªÒ»¸ö°üÀ¨ÖÐÐļþ¡¢Â·ÓÉ¡¢×Ô¶¯¼ÓÔØµÈ¶àÖØ¹¦Ð§µÄ¡°µ÷ÀíÖÐÐÄ¡±¡£ÔÚ½ñÊÀµÄ¿ò¼ÜÉú̬ÖУ¬index.php²»ÔÙ´¿´âÊǼòÆÓµÄ¡°Èë¿ÚÎļþ¡±£¬¶ø³ÉΪ¸ü¸ßÌõÀíµÄÈí¼þÉè¼ÆÌåÏÖ¡£
¿ò¼ÜÖеÄindex.php£ºÇëÇóµ÷ÀíµÄÊàŦÒÔLaravel¡¢Symfony¡¢YiiµÈÖ÷Á÷PHP¿ò¼ÜΪÀý£¬index.phpµÄ»ù±¾Ö°ÔðÒÀȻûÓб䣬µ«ÆäÄÚÈݺÍÖ°ÔðÏÔן»ºñÁË¡£Í¨³££¬ËüÃÇ»á×÷Ϊ¿ò¼ÜµÄ¡°Ç°ÃÅ¡±Îļþ£¬·â×°ÁË¿ò¼ÜµÄ³õʼ»¯Á÷³Ì£¬°üÀ¨ÇéÐÎÈÝ´í¡¢ÉèÖÃÔØÈë¡¢×Ô¶¯¼ÓÔØ¡¢Â·ÓÉÆ¥ÅäµÈ¡£
ºÃ±È£¬LaravelµÄpublic/index.phpÎļþ£¬½¹µã´óÖÂÈçÏ£º
require__DIR__.'/../vendor/autoload.php';$app=require_once__DIR__.'/../bootstrap/app.php';$kernel=$app->make(Illuminate\Contracts\Http\Kernel::class);$response=$kernel->handle($request=Illuminate\Http\Request::capture());$response->send();$kernel->terminate($request,$response);
¿ÉÒÔ¿´µ½£¬ÍøÂçÇëÇóÊ×ÏÈÓÉindex.phpÆðʼ£¬¾ÓÉ×Ô¶¯¼ÓÔØ¡¢ÇëÇó²¶»ñ¡¢Â·ÓÉÆ¥Åä¡¢¿ØÖÆÆ÷µ÷Àí¡¢ÏìÓ¦Êä³ö£¬ÐγÉÍêÕûµÄÇëÇó´¦Öóͷ£Á÷³Ì¡£
ÒÔ¡°ÇëÇóµ÷Àí¡±Îª½¹µãµÄÉè¼ÆÍ·ÄÔÏÖ´ú¿ò¼ÜʹÓÃindex.php£¬ÊµÏÖÁËÒÔ¡°µ¥Èë¿Ú¡±¿´·¨£¬Á¬ÏµÖÐÐļþ¡¢Â·ÓÉϵͳ¡¢ÊÂÎñÖÎÀíµÈ£¬½«ÇëÇóÓÉÈë¿Ú¾Óɶà²ãÍýÏëÐԵļӹ¤´¦Öóͷ£¡£Õâ²»µ«¼«´ó¼ò»¯ÁË¿ª¾Ùʶȣ¬Ò²ÌṩÁ˸߶ȵĿÉÀ©Õ¹ÐÔ¡£
·ÓÉϵͳ£º½ç˵ÁËÇëÇó·¾¶ÓëÓªÒµ´¦Öóͷ£Âß¼Ö®¼äµÄÓ³Éä¹ØÏµÖÐÐļþ£ºÊµÏÖÇëÇó¹ýÂË¡¢È¨ÏÞÑéÖ¤¡¢ÈÕÖ¾¼Í¼µÈÒÀÀµ×¢È룺Ìáǰ׼±¸ºÃËùÓÐÒÀÀµ£¬Ìá¸ß´úÂëµÄ½âñîÐÔ×Ô¶¯¼ÓÔØ£º²»±ØÊÖ¹¤requireËùÓÐÀàÎļþ£¬ÌáÉý¿ª·¢Ð§ÂÊ
ÔÚÕâ±³ºó£¬index.phpÒ»Á¬×÷ΪÇëÇóµ÷ÀíµÄ¡°½¹µãµ÷¿Ø¡±£¬È·±£Ã¿¸öÇëÇó¶¼ÄÜÎȹ̡¢¸ßЧµØ¾ÓÉÖØ´óÁ÷³Ì£¬×îÖÕ·ºÆð³öÓû§ÏëÒªµÄÒ³Ãæ»òÊý¾Ý¡£
¡°ÇëÇóÉúÃüÖÜÆÚ¡±Óëindex.phpµÄÖ°ÔðÇåµ¥ÔÚÏÖ´úPHP¿ò¼ÜÖУ¬index.phpµÄÖ°ÔðÏêϸ°üÀ¨£º
ÇëÇó²¶»ñ£ºÊ¹Óÿò¼ÜÌṩµÄRequest¹¤¾ß²¶»ñÇëÇó²ÎÊýÇéÐÎ×¼±¸£º¼ÓÔØÉèÖᢳõʼ»¯ÇéÐηÓÉÆ¥Å䣺ŲÓ÷Óɽç˵£¬ÕÒµ½¶ÔÓ¦µÄ¿ØÖÆÆ÷»ò´¦Öóͷ£º¯ÊýÒÀÀµ×¢È룺ʵÀý»¯ÐèÒªµÄÀàºÍЧÀÍÖÐÐļþ´¦Öóͷ££ºÒÀ´ÎŲÓø÷ÖÐÐļþ¾ÙÐÐÇëÇó¹ýÂ˺ÍÔöÇ¿¿ØÖÆÆ÷´¦Öóͷ££ºÖ´ÐÐÓªÒµÂß¼£¬ÌìÉúÊÓͼ»òÊý¾ÝÏìÓ¦Êä³ö£º½«´¦Öóͷ£Ð§¹û·µ»Ø¿Í»§¶Ë
ÕâÒ»Á÷³ÌÔÚËùÓÐPHP¿ò¼ÜÖж¼±»¸ß¶È·â×°¡¢±ê×¼»¯£¬Ê¹µÃ¿ª·¢Õß¿ÉÒÔרעÓÚÓªÒµÂß¼£¬¶ø²»±Øµ£ÐÄÇëÇóµ÷ÀíµÄϸ½Ú¡£
ÓÅ»¯ÓëÇ徲˼Á¿Í¨¹ý¼¯ÖпØÖÆÇëÇóÈë¿Ú£¬index.phpÒ²Àû±ãÒýÈ뻺´æ»úÖÆ¡¢·ÀË¢±£»¤ºÍÇå¾²¹ýÂ˲½·¥¡£ÀýÈ磬ÔÚÇëÇóÈë¿Ú´¦Ìí¼Ó»á¼ûƵÂÊ¿ØÖÆ¡¢ÊäÈëÑéÖ¤¡¢CSRF¼ì²âµÈ£¬¶¼ÄÜÓÐÓÃÔöÇ¿ÍøÕ¾Çå¾²ÐÔ¡£
frameworkµÄÓÅ»¯Õ½ÂÔÒ²Ö±½ÓÓ°Ïìµ½index.phpµÄÌåÏÖ£¬ºÃ±ÈʹÓÃPHPµÄOPcache¾ÙÐÐ×Ö½ÚÂ뻺´æ£¬×èÖ¹ÖØ¸´ÆÊÎö£¬ÌáÉýÏìÓ¦ËÙÂÊ¡£ºÏÀíÉè¼ÆÂ·ÓɺÍÇëÇó´¦Öóͷ£Âß¼£¬Ò²ÄÜ´ó·ù½µµÍϵͳ¼ç¸º¡£
×ܽáËæ×ÅWebÓ¦ÓÃÐèÇóµÄÒ»Ö±ÌáÉý£¬index.php´ÓÒ»¸ö´¿´âµÄ¡°ÇëÇóÈë¿Ú¡±Öð²½ÑݱäΪ¡°ÇëÇóµ÷ÀíµÄÖ¸»ÓÖÐÐÄ¡±£¬Æä½ÇɫԽ·¢¸»ºñ£¬¹¦Ð§Ò²Ô½·¢Ç¿Ê¢¡£Ê¹ÓÃÏÖ´ú¿ò¼ÜÌṩµÄ»úÖÆ£¬ºÏÀíÉè¼Æindex.php£¬²»µ«ÄÜʵÏÖ¸ßЧÇëÇóµ÷Àí£¬»¹Äܼ«´óÌáÉýϵͳµÄÀ©Õ¹ÐÔ¡¢Çå¾²ÐÔºÍÐÔÄÜ¡£
δÀ´£¬Ëæ×Å΢ЧÀͺÍServerlessµÈ¼Ü¹¹µÄÉú³¤£¬index.phpµÄ½ÇÉ«»¹»á¼ÌÐøÑݱ䣬»òÐí»á³ÉΪÊÂÎñÇý¶¯¡¢Òì³ÌÐò¶ÈµÄ½Ó¿Ú½¹µã¡£µ«ÎÞÂÛÔõÑù£¬Ëü×÷ÎªÍøÕ¾¡°ÐÄÔࡱµÄλÖã¬ÓÀÔ¶²»»á±»Ìæ»»¡£Ã÷È·ºÍÕÆÎÕindex.phpµÄ°ÂÒ壬ÊÇ´òÔì¸ßÐÔÄÜPHPÍøÕ¾µÄ»ù´¡£¬Ò²ÊÇÿ¸ö¿ª·¢ÕßÖµµÃÖÕÉú̽Ë÷µÄ¿ÎÌâ¡£