cvs: phpdoc-tw /chapters tutorial.xml
| From: | Wei-ching Kao | Date: | Wed, 25 Apr 2007 08:16:58 +0000 |
| Subject: | cvs: phpdoc-tw /chapters tutorial.xml | ||
| Groups: | php.doc.tw | ||
| Request: | Send a blank email to doc-tw+get-92@lists.php.net to get a copy of this message | ||
coldocean Wed Apr 25 08:16:58 2007 UTC
Modified files:
/phpdoc-tw/chapters tutorial.xml
Log:
Update
http://cvs.php.net/viewvc.cgi/phpdoc-tw/chapters/tutorial.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc-tw/chapters/tutorial.xml diff -u phpdoc-tw/chapters/tutorial.xml:1.2 phpdoc-tw/chapters/tutorial.xml:1.3 --- phpdoc-tw/chapters/tutorial.xml:1.2 Sun Jun 29 09:29:18 2003 +++ phpdoc-tw/chapters/tutorial.xml Wed Apr 25 08:16:57 2007 @@ -1,7 +1,5 @@ <?xml version="1.0" encoding="big5"?> -<!-- $Revision: 1.2 $ --> -<!-- $Author: kevinkee $ --> -<!-- EN-Revision: 1.22 Maintainer: Kevin Status: ready --> +<!-- EN-Revision: 1.48 Maintainer: coldocean Status: ready --> <chapter id="tutorial"> <title>PHP ¤Jªù±Ð¾Ç</title> @@ -15,11 +13,16 @@ <sect1 id="tutorial.requirements"> <title>§Ú»Ýn¨Ç¤°»ò©O¡H</title> <para> - ¦b¦¹±Ð¾Ç¡A§Ṵ́²©w±zªº¦øªA¾¹¤w¸g¦w¸Ë¤F PHP¡A¦Ó¥B©Ò¦³¥H <filename>.php</filename> ¬°°ÆÀɦWªºÀÉ®×¥þ¥æ¥Ñ PHP ¨Ó³B²z¡C¤@¯ëªº¦øªA¾¹³£¹w³]¦¹°ÆÀɦW¬° PHP ¤åÀÉ¡A¦ý¬O¬°¦w¥þ°_¨£¡AÁÙ¬O¥ý¦V±zªº¦øªA¾¹ºÞ²zû¬d¸ß¡CY±zªº¦øªA¾¹¤w¤ä´© PHP¡A±z¥u»Ý±N <filename>.php</filename> ÀÉÀx¦s¦b¸Ó¦øªA¾¹ªººô¶¥Ø¿ý¸Ì¡A¦øªA¾¹´N¥i¥H¬°±zåªR PHP ÀɮסA¬J¤£¥Î½sĶÀɮסA¤]¤£»Ýn¦w¸Ë¥ô¦ó¤u¨ã¡C±z´N§â³o¨Ç PHP ÀÉ·í§@¬O´¶³qªººô¶¦n¤F¡A¥u¤£¹L¬O¡A§Ú̬°¥¦¥[¤J¤F¤j¶q·sªº HTML ¼ÐÅÒ¡A¦Ó³o¨Ç·s¼ÐÅҨϱo±z¥i¥H°µ¥X¦U¦¡¦U¼Ë¡BÅܤƵL½aªº§âÀ¸¡I¤j³¡¥÷ªººô¶±H¦sªA°È°Ó³£¤ä´© PHP¡A¦ý¦pªG±zªºªA°È°Ó¤£´£¨Ñ¦¹¤ä´©¡A±z¥i¥H°Ñ¦Ò <ulink url="&url.php.links;">PHP Links</ulink> ¤@¸`¡C¨º¨à¦C¤F³\¦h¤ä´© PHP ªºªA°È°Ó¦W³æ¡C + ¦b¦¹±Ð¾Ç¡A§Ṵ́²©w±zªº¦øªA¾¹¤w¸g¦w¸Ë¤F PHP¡A¦Ó¥B©Ò¦³¥H <filename>.php</filename> ¬°°ÆÀɦWªºÀÉ®×¥þ¥æ¥Ñ PHP ¨Ó³B²z¡C¤@¯ëªº¦øªA¾¹³£¹w³]¦¹°ÆÀɦW¬° PHP ¤åÀÉ¡A¦ý¬O¬°¦w¥þ°_¨£¡AÁÙ¬O¥ý¦V±zªº¦øªA¾¹ºÞ²zû¬d¸ß¡CY±zªº¦øªA¾¹¤w¤ä´© PHP¡A±z¥u»Ý±N <filename>.php</filename> ÀÉÀx¦s¦b¸Ó¦øªA¾¹ªººô¶¥Ø¿ý¸Ì¡A¦øªA¾¹´N¥i¥H¬°±zåªR PHP ÀɮסA¬J¤£¥Î½sĶÀɮסA¤]¤£»Ýn¦w¸Ë¥ô¦ó¤u¨ã¡C±z´N§â³o¨Ç PHP ÀÉ·í§@¬O´¶³qªººô¶¦n¤F¡A¥u¤£¹L¬O¡A§Ú̬°¥¦¥[¤J¤F¤j¶q·sªº HTML ¼ÐÅÒ¡A¦Ó³o¨Ç·s¼ÐÅҨϱo±z¥i¥H°µ¥X¦U¦¡¦U¼Ë¡BÅܤƵL½aªº§âÀ¸¡I¤j³¡¥÷ªººô¶±H¦sªA°È°Ó³£¤ä´© PHP¡A¦ý¦pªG±zªºªA°È°Ó¤£´£¨Ñ¦¹¤ä´©¡A±z¥i¥H°Ñ¦Ò <ulink url="&url.php.links;">PHP ¬ÛÃö³sµ²</ulink> ¤@¸`¡C¨º¨à¦C¤F³\¦h¤ä´© PHP ªºªA°È°Ó¦W³æ¡C </para> <para> - ¦pªG±z·Q¦b¦Û¤vªº¹q¸£¡£©Î°Ï°ìºô¸ô¤Wªº¥D¾÷¡¤¤W½s¼g PHP µ{¦¡¡A¨º»ò±zº¥ý¥²¶·¦w¸Ë¤@Óºô¶¦øªA¾¹¡A¦p <link linkend="install.apache">Apache</link>¡C·íµM¡AÁÙ¦³ <ulink url="&url.php.downloads;">PHP</ulink> °Õ¡C±z³Ì¦n¤]¦w¸Ë¤@Ó¸ê®Æ®w¦øªA¾¹¡A¦p <ulink url="&url.mysql.docs;">MySQL</ulink>¡C±z¥i¥H¤À¶}¦w¸Ë³o¨Çµ{¦¡¡A¤]¥i¥H¨Ï¥Î<ulink - url="&url.installkits;">®M¸Ë³nÅé</ulink>¤@¦¸¹L¦w¸Ë©Ò¦³ªºµ{¦¡¡CµL½×¦b Linux ÁÙ¬O¦b Windows ªºÀô¹Ò¤U¦w¸Ë PHP ³£¬O«D±`®e©öªº¡CY¨Ï¥Î Linux ªº¸Ü¡A<ulink url="&url.rpmfind;">rpmfind</ulink> ¥iÀ°±z§ä¨ì©Ò»Ýªº RPM ®M¥ó¡C + ¦pªG±z·Q¦b¦Û¤vªº¹q¸£¡£©Î°Ï°ìºô¸ô¤Wªº¥D¾÷¡¤¤W½s¼g PHP µ{¦¡¡A¨º»ò±zº¥ý¥²¶·¦w¸Ë¤@Óºô¶¦øªA¾¹¡A¦p <ulink url="&url.apache;">Apache</ulink>¡C·íµM¡AÁÙ¦³ <ulink url="&url.php.downloads;">PHP</ulink> °Õ¡C±z³Ì¦n¤]¦w¸Ë¤@Ó¸ê®Æ®w¦øªA¾¹¡A¦p <ulink url="&url.mysql.docs;">MySQL</ulink>¡C + </para> + <para> + ±z¥i¥H¤À¶}¦w¸Ë³o¨Çµ{¦¡©Î¿ï¾Ü¤@Ó¸û²³æªº¤èªk¨Ó¦w¸Ë¡C¥i°Ñ¦Ò¤â¥U¤¤<link linkend="install">PHP ¦w¸Ë«ü¤Þ + PHP</link> ªº³¡¤À¡]°²³]±z¤w¸g³]©w¦nºô¶¦øªA¾¹¡^¡A¦pªG¦w¸Ë PHP ¹Lµ{¹J¨ì¤F³Â·Ð¡A§ÚÌ«ØÄ³±z¥i¥H¦b<ulink url="&url.php.mailing-lists;">¦w¸Ë«H¥ó¦Cªí</ulink>¤¤¸ß°Ý¡C¦pªG¿ï¾Ü¨Ï¥Î¸û²³æªº¤èªk¡A«h¥i¥H¾A¦X±z§@·~¨t²Î<ulink + url="&url.installkits;">¹w¥ý³]©w¦nªº®M¥ó</ulink>¡A¥un´Xӷƹ«ªºÂI¿ï¡A´N¥i¥H¦Û°Ê¤@¦¸¦w¸Ë©Ò¦³ªºµ{¦¡¡CµL½×¦b MacOSX¡ALinux ÁÙ¬O¦b Windows ªºÀô¹Ò¤U¦w¸Ë ¤ä´© PHP ªººô¶¦øªA¾¹³£¬O«D±`®e©öªº¡CY¨Ï¥Î Linux ªº¸Ü¡A<ulink url="&url.rpmfind;">rpmfind</ulink> ©M <ulink url="&url.rpmfind.pbone;">PBone</ulink> ¥iÀ°±z§ä¨ì©Ò»Ýªº RPM ®M¥ó¡A¦Ó <ulink + url="&url.apt-get;">apt-get</ulink>¥i¥H§ä¨ì Debian ªº®M¥ó¡C </para> </sect1> @@ -44,7 +47,7 @@ ]]> </programlisting> <simpara> - ±µ¤U¨Ó¥ÎÂsÄý¾¹¦s¨ú±zèè«Ø¥ßªºÀɮסCY±z¬O¦b¥»¾÷¶}µoµ{¦¡¡A¨ººô§}±N·|¬O¡G<literal>http://localhost/hello.php</literal> ©Î <literal>http://127.0.0.1/hello.php</literal>¡A¨ú¨M©ó±z¦p¦ó°t¸m±zªººô¶¦øªA¾¹¡CÁöµMºô¶¦øªA¾¹°t¸m¤£¦b¦¹±Ð¾Çªº½d³ò¡A¦ý±z¥i¥H¬Ý¬Ýºô¶¦øªA¾¹²ÕºAÀɤ¤ªº <varname>DocumentRoot</varname> ©M <varname>ServerName</varname> ¨âÓ«ü¥O¡C¨Ò¦p¡AApache ªº²ÕºAÀɬO &httpd.conf;¡C¦pªG©Ò¦³ªº³]©w³£¥¿½Tªº¸Ü¡APHP ±N·|åªR³oÓÀɮסA¨Ã¿é¥X¤U¦C HTML ½X¦Ü±zªºÂsÄý¾¹¡G +±µ¤U¨Ó¥ÎÂsÄý¾¹¿é¤Jºô¶¦øªA¾¹ªº URL ¥[¤W "/hello.php"¡A¨Ó¦s¨ú±zèè«Ø¥ßªºÀɮסCY±z¬O¦b¥»¾÷¶}µoµ{¦¡¡A¨ººô§}±N·|¬O¡G<literal>http://localhost/hello.php</literal> ©Î <literal>http://127.0.0.1/hello.php</literal>¡A¨ú¨M©ó±z¦p¦ó°t¸m±zªººô¶¦øªA¾¹¡C¦pªG©Ò¦³ªº³]©w³£¥¿½Tªº¸Ü¡APHP ±N·|¸ÑªR³oÓÀɮסA¨Ã¿é¥X¤U¦C HTML ½X¦Ü±zªºÂsÄý¾¹¡G </simpara> <screen role="html"> <![CDATA[ @@ -61,53 +64,69 @@ </example> </para> <para> - ª`·N¡A©M CGI µ{¦¡½X¤£¦Pªº¬O¡APHP Àɤ£»Ýn¬O¥i°õ¦æªºÀɮשΧt¦³¥ô¦ó¯S§Oªº³]©w¡C§ÚÌ¥u·í¥¦¬O´¶³qªº HTML ÀɮסA¤£¦Pªº¬O¥¦¦³³\¦h«D±`¦³¥Îªº¼ÐÅÒ¦Ó¤w¡C - </para> - <para> - ¨ä¹ê¡A¤Wzªºµ{¦¡Â²³æ¨ì®Ú¥»¥Î¤£µÛ¨Ï¥Î PHP ¨Ó«Ø¥ß°Õ¡C¥¦¥u¤£¹L¬O¨Ï¥Î¤F <function>echo</function> ±Ôz¨Ó¿é¥X <literal>Hello World</literal>¡A¦p¦¹¦Ó¤w¡C + ¨ä¹ê¡A¤Wzªºµ{¦¡Â²³æ¨ì®Ú¥»¥Î¤£µÛ¨Ï¥Î PHP ¨Ó«Ø¥ß¡C¥¦¥u¤£¹L¬O¨Ï¥Î¤F <function>echo</function> ±Ôz¨Ó¿é¥X <literal>Hello World</literal>¡A¦p¦¹¦Ó¤w¡Cª`·N¤@ÂI¡A³oÓÀÉ®×<emphasis>¤£»Ýn¬O¥i°õ¦æªº</emphasis>©Î¦³¨ä¥L¯S®ín¨D¡C¦]¬°¨Ï¥Î ".php" ·í§@°ÆÀɦW ¡]¦øªA¾¹¤w³Q³]©w§â³oÃþÀɮ׶ǵ¹ PHP¡^¡A©Ò¥H¦øªA¾¹·|§ä¨ì³oÓÀɮסA¨Ã¼g¥Î PHP ¨Ó¸ÑĶ¡C¥i¥H§â³oÓµø¬°¤@Ó¤@¯ëªº HTML ÀɮסA¥¦¦³¤@¨Ç¥i¨Ï¥Îªº¯S§O¼ÐÅҥΨӰµ«Ü¦h¦³½ìªº¨Æ¡C </para> <para> - ¥i¬O¡A¦pªG¦s¨ú¦¹Àɮ׮ɨèS¦³¿é¥X¥ô¦óªF¦è¡A©ÎÂsÄý¾¹´£¥Ü±z¤U¸ü¥¦¡A¤S©ÎªÌ¬O¬Ý¨ìì¨Óªºµ{¦¡½X¡A¨º§Ú̪֩w±zªººô¶¦øªA¾¹¨Ã¤£¤ä´© PHP ¤F¡C³o®É¡A±z°ß¦³¨D±Ï©ó±zªº¦øªA¾¹ºÞ²zû¡A©Î¦Û¦æ«ö·Ó<link linkend="installation">¦w¸Ë¤â¥U</link>¸Ìªº«ü¥Ü«Ø¥ß PHP ¤ä´©¡C·íµM¡AY±z¹J¤WµLªk¸Ñ¨Mªº°ÝÃD¡A<ulink url="&url.php.support;">¤ä´©¤¤¤ß</ulink>¨º¨à¦³¤j¶qªº¸ê·½¥i¥HÀ°¨ì±z¡C +¥i¬O¡A¦pªG¦s¨ú¦¹Àɮ׮ɨèS¦³¿é¥X¥ô¦óªF¦è¡A©ÎÂsÄý¾¹´£¥Ü±z¤U¸ü¥¦¡A¤S©ÎªÌ¬O¬Ý¨ìì¨Óªºµ{¦¡½X¡A¨º¥i¯à±zªººô¶¦øªA¾¹¨Ã¨S¦³¶}±Ò PHP¡A©ÎªÌ¨S¦³¥¿½T³]©w¡C³o®É¡A±z¥i¥H¸ß°Ý¦øªA¾¹ºÞ²zû«ö·Ó¤â¥U¸Ì<link linkend="install">¦w¸Ë</link>³oÓ³¹¸`¸Ìªº«ü¥Ü¡A¨Ó¬°±z±Ò¥Î PHP ¤ä´©¡C¦pªG±z¬O¦bªñºÝ¶}µoµ{¦¡¡A¥i¥H¾\Ū¦w¸Ëªº³¹¸`¨Ã½T»{©Ò¦³³]©w¬O¥¿½Tªº¡A¨Ã½T»{±z¬O¸g¥Ñ http ¨Ó¦s¨ú¦øªA¾¹ªºÀɮסA¦pªG¥u¬O±qÀɮרt²Î¶}±ÒÀɮסA¨º»ò´N¤£·|¸g¹L PHP ªº¸ÑªR¡C·íµM¡AY±z¹J¤WµLªk¸Ñ¨Mªº°ÝÃD¡A<ulink url="&url.php.support;">PHP ¤ä´©</ulink>¨º¨à¦³¤j¶qªº¸ê·½¥i¥HÀ°§U±z¡C </para> <para> - ³oÓ¨Ò¤l¤]®i¥Ü¤F PHP ¼ÐÅÒªº®æ¦¡À³¥Î¡C§Ų́ϥΠ<literal><?php</literal> ¨Óªí¥Ü PHP µ{¦¡°Ï¶ôªº¶}©l¡AµM«á¥Î <literal>?></literal> ¼ÐÅÒ¨Óªí¥Üµ²§ô¡C±z¥i¥H¹³³o¼Ëªº¦b¤@Ó HTML Àɤº¥ô·N¶i¤J©Î¸õ¥X PHP ¼Ò¦¡¡C¸Ô²Óªº»yªk¤ÎÀ³¥Î½Ð°Ñ¦Ò<link linkend="language.basic-syntax">°ò¥»»yªk</link>¤@³¹¡C + ³oÓ¨Ò¤l¤]®i¥Ü¤F PHP ¼ÐÅÒªº®æ¦¡À³¥Î¡C§Ų́ϥΠ<literal><?php</literal> ¨Óªí¥Ü PHP µ{¦¡°Ï¶ôªº¶}©l¡AµM«á¥Î <literal>?></literal> ¼ÐÅÒ¨Óªí¥Üµ²§ô¡C±z¥i¥H¹³³o¼Ëªº¦b¤@Ó HTML Àɤº¥ô·N¶i¤J©Î¸õ¥X PHP ¼Ò¦¡¡C¸Ô²Óªº»yªk¤ÎÀ³¥Î½Ð°Ñ¦Ò<link linkend="language.basic-syntax">°ò¥» PHP »yªk</link>¤@³¹¡C </para> <note> + <title>Ãö©ó´«¦æ</title> + <para> + ¾¨ºÞ´«¦æ¦b HTML ¤¤ªº¹ê»Ú·N¸q¤£¬O«Ü¤j¡A¦ý¾A·í¦a¨Ï¥Î´«¦æ¥i¥H¨Ï HTML + ©öŪ¥B¬üÆ[¡CPHP ·|¦b¿é¥X®É¦Û°Ê§R°£¨äµ²§ô²Å¸¹ <literal>?></literal> + «áªº¤@Ó´«¦æ¡C¸Ó¥\¯à¥Dn¬O°w¹ï¦b¤@Ó¶±¤¤´O¤J¦h¬q PHP + ¥N½X©ÎªÌ¥]§t¤FµL¹ê½è©Ê¿é¥Xªº PHP ¤å¥ó¦Ó³]p¡A»P¦¹¦P®É¤]³y¦¨¤F¤@¨ÇºÃ´b¡C¦pªG¦b + PHP µ²§ô²Å <literal>?></literal> «á¿é¥X´«¦æªº¸Ü¡A¥i¥H¦b¨ä«á¥[¤@ӪŮæ¡A©ÎªÌ¦b³Ì«áªº¤@Ó + echo/print »y¥y¤¤¥[¤J¤@Ó´«¦æ¡C + </para> + </note> + <note> <title>Ãö©ó¤å¦r½s¿è¾¹</title> <para> - ¥«³õ¤W¦³³\¦h¥i¥H¥Î¨Ó«Ø¥ß¡B½s¼g©ÎºÞ²z PHP Àɮתº¤å¦r½s¿è¾¹©M¾ã¦X¦¡¶}µoÀô¹Ò (IDE)¡C³¡¥÷ªº³o¨Ç¤u¨ã¥i¦b <ulink url="&url.phpeditorlist;">PHP ½s¿è¾¹²M³æ</ulink>¸Ì§ä¨ì¡CY±z·Q±ÀÂˬYÓ½s¿è¾¹¡A½Ð¦V¤Wzºô¯¸ªºt³d¤H´£¥Xn¨D¡C¤@Ó¾Ö¦³»yªk¤À¦âÅã¥Ü (syntax highlighting) ªº½s¿è¾¹¹ïµ{¦¡ªº½s¿è±N´£¨Ñ«Ü¤jªºÀ°§U¡C + ¥«³õ¤W¦³³\¦h¥i¥H¥Î¨Ó«Ø¥ß¡B½s¼g©ÎºÞ²z PHP Àɮתº¤å¦r½s¿è¾¹©M¾ã¦X¦¡¶}µoÀô¹Ò (IDEs)¡C³¡¥÷ªº³o¨Ç¤u¨ã¥i¦b <ulink url="&url.phpeditorlist;">PHP ½s¿è¾¹²M³æ</ulink>¸Ì§ä¨ì¡CY±z·Q±ÀÂˬYÓ½s¿è¾¹¡A½Ð¦V¤Wzºô¯¸ªºt³d¤H´£¥Xn¨D¡C¤@Ó¾Ö¦³»yªk¤À¦âÅã¥Ü (syntax highlighting) ªº½s¿è¾¹¹ïµ{¦¡ªº½s¿è±N´£¨Ñ«Ü¤jªºÀ°§U¡C </para> </note> <note> <title>Ãö©ó¤å¦r³B²z¾¹</title> <para> - ¤å¦r³B²z¾¹¦p StarOffice Writer¡AMicrosoft Word ¤Î Abiword ¨Ã¤£¾A¦X¥Î¨Ó½s¿è PHP ÀɮסC¦pªG±zÁÙ¬O·Q¥Î¤Wz¤å¦r³B²z¾¹¨Ó½s¿è PHP µ{¦¡¡A½Ð°È¥²±NÀÉ®×Àx¦s¦¨¯Â¤å¦rÀÉ¡£Plain Text¡¤¡A§_«h PHP ±NµLªkŪ¨ú©M°õ¦æ¸ÓÀɮסC + ¤å¦r³B²z¾¹¦p StarOffice Writer¡AMicrosoft Word ¤Î Abiword ¨Ã¤£¾A¦X¥Î¨Ó½s¿è PHP ÀɮסC¦pªG±zÁÙ¬O·Q¥Î¤Wz¤å¦r³B²z¾¹¨Ó½s¿è PHP µ{¦¡¡A½Ð°È¥²±NÀÉ®×Àx¦s¦¨<emphasis>¯Â¤å¦rÀÉ</emphasis>¡A§_«h PHP ±NµLªkŪ¨ú©M°õ¦æ¸ÓÀɮסC </para> </note> <note> <title>Ãö©ó Windows ªº°O¨Æ¥»</title> <para> - ¦pªG±z¨Ï¥Î Windows ªº°O¨Æ¥»¡£Notepad¡¤¡A½Ð¦bÀx¦s®É±N°ÆÀɦW§ï¬° .php¡C¬°¤F¨¾¤î°O¨Æ¥»¦bÀx¦s®É¦Û°Ê¥[¤W .txt °ÆÀɦW¡A±z¥i¥H¦bÀx¦sÀɮ׮ɦbÀɦW«e«á¥[¤WÂù¤Þ¸¹¡£¦p¡G"<filename>hello.php</filename>"¡¤¡A©Î¦b¦sÀɹï¸Ü¤èµøµ¡ªº¦sÀÉÃþ«¬¶µ¿ï"©Ò¦³ªºÀÉ®×"¡AµM«á¿é¤JÀɦW¡£³o¼Ë´N¤£»ÝnÂù¤Þ¸¹¤F¡¤¡C + ¦pªG±z¨Ï¥Î Windows ªº°O¨Æ¥»¡£Notepad¡¤¡A½Ð¦bÀx¦s®É±N°ÆÀɦW§ï¬° .php¡C¬°¤F¨¾¤î°O¨Æ¥»¦bÀx¦s®É¦Û°Ê¥[¤W .txt °ÆÀɦW¡A±z¥i¥H¦bÀx¦sÀɮ׮ɦbÀɦW«e«á¥[¤WÂù¤Þ¸¹¡£¦p¡G"<filename>hello.php</filename>"¡¤¡A©Î¦b¦sÀɹï¸Ü¤èµøµ¡ªº¦sÀÉÃþ«¬¶µ¿ï"©Ò¦³ªºÀÉ®×"¡AµM«á¿é¤JÀɦW¡A³o¼Ë´N¤£»ÝnÂù¤Þ¸¹¤F¡C </para> </note> <para> - ®¥³ß¡I±z¤w¦¨¥\ªº«Ø¥ß¤F¤@Ó PHP µ{¦¡¡C¨º²{¦b§Ú̦A¬°¥¦¥[¤W¤@Ó¼s¬°¤Hª¾ªº PHP ¨ç¼Æ¡G<function>phpinfo</function>¡C¦b±zªºµ{¦¡©I¥s <function>phpinfo</function> «á¡A±z±N·|¬Ý¨ì³\¦h«D±`¦³¥Îªº¸ê°T¡A¥]¬A±zªº¦øªA¾¹Àô¹Ò¡APHP ªº³]©w±¡ªp¡A¦p¥i¥Îªº<link linkend="language.variables.predefined">¹w¥ý©w¸qÅܼÆ</link>¡A¤w¸ü¤Jªº PHP ¼Ò²Õ¤Î<link linkend="configuration">²ÕºAªº³]©w</link>µ¥¡C±z¤£§«ªá¨Ç®É¶¡¥h»{ÃѤ@¤U³o¨Ç«nªº°T®§¡C + ±z¤w¦¨¥\ªº«Ø¥ß¤F¤@Ó PHP µ{¦¡¡C²{¦b¸Ó¬O§Ú̫إߤ@ӳ̼s¬°¤Hª¾ªº PHP ¸}¥»ªº®ÉÔ¤F¡I¦b±zªºµ{¦¡©I¥s <function>phpinfo</function> «á¡A±z±N·|¬Ý¨ì³\¦h«D±`¦³¥Îªº¸ê°T¡A¥]¬A±zªº¦øªA¾¹Àô¹Ò¡APHP ªº³]©w±¡ªp¡A¦p¥i¥Îªº<link linkend="language.variables.predefined">¹w³]ÅܼÆ</link>¡A¤w¸ü¤Jªº PHP ¼Ò²Õ¤Î<link linkend="configuration">²ÕºAªº³]©w</link>µ¥¡C±z¤£§«ªá¨Ç®É¶¡¥h»{ÃѤ@¤U³o¨Ç«nªº°T®§¡C </para> - + <para> + <example> + <title>¨Ï¥Î PHP ¨ú±o¨t²Î¸ê°T</title> + <programlisting role="php"> +<![CDATA[ +<?php phpinfo(); ?> +]]> + </programlisting> + </example> + </para> </sect1> <sect1 id="tutorial.useful"> <title>¤@Ó¦³¹ê»Ú¥Î³~ªºµ{¦¡</title> - <para> - ²{¦bÅý§Ų́ӽs¼g¤@Ө㦳¹ê»Ú¥Î³~ªºµ{¦¡¡A¥Î¥¦¨ÓÃѧO«ô³XªÌ©Ò¨Ï¥ÎªºÂsÄý¾¹ºØÃþ¡CÃѧOÂsÄý¾¹ªº¤èªk¬OÀˬdÂsÄý¾¹¶Ç»¼µ¹¦øªA¾¹ªº user agent ¦r¦ê¡C¦¹¦r¦ê¬O HTTP n¨Dªº¤@³¡¥÷¡A¦Ó¥¦ªº¸ê°T¬O¥H<link - linkend="language.variables">ÅܼÆ</link>ªº§Î¦¡Àx¦s¡CPHP ªºÅܼƬO¥H¤@Óª÷¿ú²Å¸¹¡£$¡¤¬°¶}ºÝ¡A¦Ó²{¦b§ÚÌnªºÅܼƬO <varname>$_SERVER["HTTP_USER_AGENT"]</varname>¡C + <para> ²{¦bÅý§Ų́ӽs¼g¤@Ө㦳¹ê»Ú¥Î³~ªºµ{¦¡¡A¥Î¥¦¨ÓÃѧO«ô³XªÌ©Ò¨Ï¥ÎªºÂsÄý¾¹ºØÃþ¡CÃѧOÂsÄý¾¹ªº¤èªk¬OÀˬdÂsÄý¾¹¶Ç»¼µ¹¦øªA¾¹ªº user agent ¦r¦ê¡C¦¹¦r¦ê¬O HTTP n¨Dªº¤@³¡¥÷¡A¦Ó¥¦ªº¸ê°T¬O¥H<link + linkend="language.variables">ÅܼÆ</link>ªº§Î¦¡Àx¦s¡CPHP ªºÅܼƬO¥H¤@Ó¿ú¦r²Å¸¹¡]$¡^¬°¶}ºÝ¡A¦Ó²{¦b§ÚÌnªºÅܼƬO <varname>$_SERVER["HTTP_USER_AGENT"]</varname>¡C </para> <note> <para> - <link linkend="reserved.variables.server">$_SERVER</link> ¬O¤@Ó¯S§Oªº PHP «O¯dÅܼơC¥¦³QºÙ¬° <link linkend="language.variables.superglobals">Autoglobal</link>¡£©Î Superglobal¡¤¡A§t¦³ºô¶¦øªA¾¹ªº©Ò¦³¸ê°T¡C³o¨Ç¯S§OªºÅܼƬO¦b PHP <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ª©¥»°_¤~¥[¤Jªº¡C¦b¦¹ª©¥»¤§«e¡A§Ų́ϥΪº¬O¦¡ªº <varname>$HTTP_*_VARS</varname> ³¯¦C¡A¦p <varname>$HTTP_SERVER_VARS</varname>¡CÁöµM¥¦Ì¤w°h§Ð¡A¦ý¤´Â¦s¦b¡C½Ð¶¶«K°Ñ¦Ò¤@¤U<link linkend="tutorial.oldcode">µ{¦¡½X</link>ª`·N¡C + <link linkend="reserved.variables.server">$_SERVER</link> ¬O¤@Ó¯S§Oªº PHP «O¯dÅܼơA¥]§t©Ò¦³ºô¶¦øªA¾¹ªº¸ê°T¡C¥¦³QºÙ¬° ¶W¥þ°ìÅܼơ]superglobal¡^¡A¥¦§t¦³ºô¶¦øªA¾¹ªº©Ò¦³¸ê°T¡C°Ñ¾\¤â¥U¤¤<link linkend="language.variables.superglobals">superglobal</link>³o¨Ç¯S§OªºÅܼƬO¦b PHP <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ª©¥»°_¤~¥[¤Jªº¡C¦b¦¹ª©¥»¤§«e¡A§Ų́ϥΪº¬O¦¡ªº <varname>$HTTP_*_VARS</varname> °}¦C¡A¦p <varname>$HTTP_SERVER_VARS</varname>¡CÁöµM¥¦Ì¤w¼o±ó¤£¥Î¡A¦ý¤´Â¦s¦b¡C½Ð¶¶«K°Ñ¦Ò¤@¤U<link linkend="tutorial.oldcode">µ{¦¡½X</link>ªºª`·N¨Æ¶µ¡C </para> </note> <para> @@ -115,69 +134,55 @@ </para> <para> <example> - <title> ¿é¥X³¯¦C¤¤ªºÅܼÆ</title> + <title> ¿é¥X°}¦C¤¤ªºÅܼÆ</title> <programlisting role="php"> <![CDATA[ <?php echo $_SERVER["HTTP_USER_AGENT"]; ?> ]]> </programlisting> <para> - ¤Wzµ{¦¡½Xªº¿é¥X¼Ë¥»¡G + ¤Wz¸}¥»ªº¿é¥X½d¨Ò¡G </para> <screen role="html"> -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) </screen> </example> </para> <para> - PHP ¾Ö¦³³\¦h¤£¦P<link linkend="language.types">ºØÃþ</link>ªºÅܼơA¦Ó¤Wz¨Ò¤l¤¤¡A§ÚÌ¥u¤£¹L¦C¦L¥X¤F<link linkend="language.types.array">³¯¦C</link>ªº¨ä¤¤¤@Ó¤¸¯À¡C - </para> - <para> - <varname>$_SERVER</varname> ¥u¬O¨ä¤¤¤@Ó PHP ¦Û°Ê´£¨Ñµ¹±zªºÅܼơC¸Ô²Ó²M³æ½Ð¬d¬Ý¤â¥U¤¤<link linkend="reserved.variables">«O¯dªºÅܼÆ</link>¤@¸`¡A©Î«Ø¥ß¤@Ó¦³¤U¦C¤@¥y±ÔzªºÀɮסG - </para> - <para> - <example> - <title> ¥H <function>phpinfo</function> Åã¥Ü©Ò¦³¥ý«e©w¸qªºÅܼÆ</title> - <programlisting role="php"> -<![CDATA[ -<?php phpinfo(); ?> -]]> - </programlisting> - </example> + PHP ¾Ö¦³³\¦h¤£¦P<link linkend="language.types">«¬§O</link>ªºÅܼơA¦Ó¤Wz¨Ò¤l¤¤¡A§ÚÌ¥u¤£¹L¦C¦L¥X¤F<link linkend="language.types.array">°}¦C</link>ªº¨ä¤¤¤@Ó¤¸¯À¡C </para> <para> - ·í±z¥HÂsÄý¾¹¦s¨ú¤WzÀɮ׮ɡA±z±N·|¬Ý¨ì¤@½g¥Rº¡µÛ PHP ¸ê°Tªººô¶¡A·í¤¤¤]¥]¬A¤F©Ò¦³±z¥i¨Ï¥ÎªºÅܼƲM³æ¡C - </para> + <varname>$_SERVER</varname> ¥u¬O¨ä¤¤¤@Ó PHP ¦Û°Ê´£¨Ñµ¹±zªºÅܼơC¸Ô²Ó²M³æ½Ð¬d¬Ý¤â¥U¤¤<link linkend="reserved.variables">«O¯dªºÅܼÆ</link>¤@¸`¡A©ÎÂǥѤ§«e³¹¸`¤¤½d¨Òªº<function>phpinfo</function> ¨ç¦¡¿é¥X¨ú±o§¹¾ãªº¦Cªí¡C <para> ·íµM¡A±z¥i¥H¦b¤@Ó PHP ¼ÐÅҸ̽s¼g¦h¦æ¡B¥\¯à¤£¦Pªº PHP ±Ôz¡A²Õ¦X¦¨¬°¤@Óµ{¦¡°Ï¶ô¡C¨Ò¦p¡A§ÚÌnÀˬd³y³XªÌªºÂsÄý¾¹¬O§_¬O Internet Explorer¡A§ÚÌ¥i¥H¥Î¡G </para> <para> <example> - <title> ¨Ï¥Î<link linkend="control-structures">±±¨î¬[ºc</link>©M<link linkend="functions">¨ç¼Æ</link>ªº½d¨Ò</title> + <title> ¨Ï¥Î<link linkend="language.control-structures">±±¨î¬[ºc</link>©M<link linkend="language.functions">¨ç¼Æ</link>ªº½d¨Ò</title> <programlisting role="php"> <![CDATA[ <?php -if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { - echo "You are using Internet Explorer<br />"; +if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { + echo 'You are using Internet Explorer.<br />'; } ?> ]]> </programlisting> <para> - ¤Wzµ{¦¡ªº¿é¥X¼Ë¥»¬°¡G + ¤Wz¸}¥»ªº¿é¥X½d¨Ò¬°¡G </para> <screen role="html"> <![CDATA[ -You are using Internet Explorer<br /> +You are using Internet Explorer.<br /> ]]> </screen> </example> </para> <para> - ¦b¦¹¡A§Ṳ́¶²Ð¤F¤@Ó·sªº·§©À¡A¨Ï¥Î¤F <link linkend="control-structures.if">if</link> ±Ôz¡C¦pªG±z¼ô±x C ªº»yªk¡A¨º»ò±z´N¤£·|¹ï¥¦·P¨ì¯¥Í¤F¡CY±z¹ï C »y¨¥©Î¥ô¦ó¨ä¥Lµ{¦¡»y¨¥¨S¦³¥ô¦ó»{ÃѪº¸Ü¡A©Î³\±zÀ³¸Ó¥ý°Ñ¦Ò¤@¨Ç PHP ¤Jªù®ÑÄy©Î¾\Ū¦¹¤â¥Uªº<link linkend="langref">»yªk°Ñ¦Ò</link>¤@¸`¡C<ulink url="&url.php.books;">¦b¦¹</ulink>¦³¤@¨Ç PHP ®ÑÄyªº²M³æ¨Ñ±z°Ñ¦Ò¡C + ¦b¦¹¡A§Ṳ́¶²Ð¤F¤@Ó·sªº·§©À¡A¨Ï¥Î¤F <link linkend="control-structures.if">if</link> ±Ôz¡C¦pªG±z¼ô±x C ªº°ò¥»»yªk¡A¨º»ò±z´N¤£·|¹ï¥¦·P¨ì¯¥Í¤F¡CY±z¹ï C »y¨¥©Î¥ô¦ó¨ä¥Lµ{¦¡»y¨¥¨S¦³¥ô¦ó»{ÃѪº¸Ü¡A©Î³\±zÀ³¸Ó¥ý°Ñ¦Ò¤@¨Ç PHP ¤Jªù®ÑÄy©Î¾\Ū¦¹¤â¥Uªº<link linkend="langref">»yªk°Ñ¦Ò</link>¤@¸`¡C </para> <para> - ¤Wz¨Ò¤l¤¶²Ð¤F¥t¤@Ó·sªº·§©À¡G<function>strstr</function> ¨ç¼Æªº¨Ï¥Î¡C<function>strstr</function> ¬O PHP ´£¨Ñªº¨ä¤¤¤@Ó¨ç¼Æ¡A¦Ó¥¦ªº¥\¯à¬O¦b¤@Ó¦r¦ê¤¤§ä´M¥t¤@Ó¦r¦ê¡C¦p¡A§ÚÌn¦b <varname>$_SERVER["HTTP_USER_AGENT"]</varname> ¤¤´M§ä <literal>"MSIE"</literal> ³o¤@¦r¦ê¡C¦pªG§ä¨ì¸Ó¦r¦ê¡A¦¹¨ç¼Æ¶Ç¦^ &true;¡A§_«h´N¶Ç¦^ &false;¡C¦pªG¥¦¶Ç¦^ &true;¡A¨º»ò <link linkend="control-structures.if">if</link> ±Ôzªºµû¦ôȱN¬O &true;¡AµM«á { ¤j¬A¸¹ } ¸Ìªºµ{¦¡½X¤]´N³Q°õ¦æ¤F¡C¬Û¤Ïªº¡AY if ªºµû¦ôȬO &false;¡A¨º if ±Ôz´N³Q¸õ¹L¤F¡C½ÐÀ|¸Õ¨Ï¥Î if¡A<link linkend="control-structures.else">else</link>¡A©Î¨ä¥L¨ç¼Æ¦p <function>strtoupper</function> ¤Î <function>strlen</function> ¨Ó«Ø¥ßÃþ¦üªºµ{¦¡¡C¦pªG±z¤£ª¾¦p¦ó¨Ï¥Î¬Y¨ç¼Æ¡A½Ð°Ñ¾\¨ä¤â¥U¡C¨C¤@Ó¨ç¼Æªº¤â¥U³£¦³½d¨Ò©M»¡©ú¡C¦¹¥~¡APHP ¤â¥U¤¤ªº<link linkend="about.prototypes">¦p¦ó¾\Ū¨ç¼Æ©w¸q</link>©M <link linkend="functions">PHP ¨ç¼Æ</link>¤]¦³§U©ó¹ï PHP »yªkªº¤F¸Ñ¡C + §Ṳ́¶²Ðªº²Ä¤GÓ·§©À¡G<function>strpos</function> ¨ç¼Æªº¨Ï¥Î¡C<function>strpos</function> ¬O PHP ´£¨Ñªº¨ä¤¤¤@Ó¨ç¼Æ¡A¦Ó¥¦ªº¥\¯à¬O¦b¤@Ó¦r¦ê¤¤§ä´M¥t¤@Ó¦r¦ê¡C¦p¡A§ÚÌn¦b <varname>$_SERVER["HTTP_USER_AGENT"]</varname> ¡]ºÙ¬° haystack¡^¤¤´M§ä <literal>"MSIE"</literal> ¡]ºÙ¬° needle¡^³o¤@¦r¦ê¡C¦pªG§ä¨ì¸Ó¦r¦ê¡A¦¹¨ç¼Æ¶Ç¦^±q haystack ¶}©lºâ°_ needle ªº¬Û¹ï¦ì¸m¡A§_«h´N¶Ç¦^ &false;¡C¦pªG¤£¬O¶Ç¦^ &false;¡A¨º»ò <link linkend="control-structures.if">if</link> ±Ôzªºµû¦ôȱN¬O &true;¡AµM«á { ¤j¬A¸¹ } ¸Ìªºµ{¦¡½X¤]´N³Q°õ¦æ¤F¡C¬Û¤Ïªº¡AY if ªºµû¦ôȬO &false;¡A¨º if ±Ôz´N³Q¸õ¹L¤F¡C½Ð¹Á¸Õ¨Ï¥Î <link linkend="control-structures.if">if</link>¡A<link linkend="control-structures.else">else</link>¡A©Î¨ä¥L¨ç¼Æ¦p <function>strtoupper</function> ¤Î <function>strlen</function> ¨Ó«Ø¥ßÃþ¦üªºµ{¦¡¡C¦pªG±z¤£ª¾¦p¦ó¨Ï¥Î¬Y¨ç¼Æ¡A½Ð°Ñ¾\¨ä¤â¥U¡C¨C¤@Ó¨ç¼Æªº¤â¥U³£¦³½d¨Ò©M»¡©ú¡C¦¹¥~¡APHP ¤â¥U¤¤ªº<link linkend="about.prototypes">¦p¦ó¾\Ū¨ç¼Æ©w¸q</link>©M <link linkend="language.functions">PHP ¨ç¼Æ</link>¤]¦³! §U©ó¹ï PHP »yªkªº¤F¸Ñ¡C </para> <para> ±µ¤U¨Ó§Ú̱N¥Ü½d¦p¦ó¦b PHP µ{¦¡°Ï¶ô¤¤¶i¤J©M¸õÂ÷ PHP ¼Ò¦¡¡C @@ -188,15 +193,15 @@ <programlisting role="php"> <![CDATA[ <?php -if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { +if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { ?> -<h3>strstr must have returned true</h3> -<center><b>You are using Internet Explorer</b></center> +<h3>strpos() must have returned non-false</h3> +<p>You are using Internet Explorer</p> <?php } else { ?> -<h3>strstr must have returned false</h3> -<center><b>You are not using Internet Explorer</b></center> +<h3>strpos() must have returned false</h3> +<p>You are not using Internet Explorer</p> <?php } ?> @@ -207,14 +212,14 @@ </para> <screen role="html"> <![CDATA[ -<h3>strstr must have returned true</h3> -<center><b>You are using Internet Explorer</b></center> +<h3>strpos() must have returned non-false</h3> +<p>You are using Internet Explorer</p> ]]> </screen> </example> </para> <para> - °£¤F¥i¥H¨Ï¥Î echo ±Ôz¿é¥X¦r¦ê¡A§Ṳ́]¥i¥H¸õÂ÷ PHP ¼Ò¦¡¦Óª½±µ¥H HTML ¿é¥X¤å¦r¡C¨Ï¥Î³oºØ¤èªkªº«¤j·N¸q¦b©óµ{¦¡¥»¨ªºÅÞ¿è¨Ã¤£¨ü¨ì¼vÅT¡A¦Óþ¤@Ó HTML °Ï¶ô·|³Q¿é¥XÁÙ¬O¨ú¨M©ó <function>strstr</function> ©Ò¶Ç¦^ªºÈ¬O &true; ÁÙ¬O &false;¡A§Y¦³§_§ä¨ì <literal>MSIE</literal> ³o¤@¦r¦ê¡C + °£¤F¥i¥H¨Ï¥Î echo ±Ôz¿é¥X¦r¦ê¡A§Ṳ́]¥i¥H¸õÂ÷ PHP ¼Ò¦¡¦Óª½±µ¥H HTML ¿é¥X¤å¦r¡C¨Ï¥Î³oºØ¤èªkªº«¤j·N¸q¦b©óµ{¦¡¥»¨ªºÅÞ¿è¨Ã¤£¨ü¨ì¼vÅT¡A¦Óþ¤@Ó HTML °Ï¶ô·|³Q¿é¥XÁÙ¬O¨ú¨M©ó <function>strpos</function> ©Ò¶Ç¦^ªºÈ¡A§Y¦³§_§ä¨ì <literal>MSIE</literal> ³o¤@¦r¦ê¡C </para> </sect1> @@ -228,10 +233,10 @@ <title> ¤@Ó²³æªº HTML ªí³æ</title> <programlisting role="html"> <![CDATA[ -<form action="action.php" method="POST"> - Your name: <input type="text" name="name" /> - Your age: <input type="text" name="age" /> - <input type="submit"> +<form action="action.php" method="post"> + <p>Your name: <input type="text" name="name" /></p> + <p>Your age: <input type="text" name="age" /></p> + <p><input type="submit" /></p> </form> ]]> </programlisting> @@ -245,58 +250,63 @@ <title> ¿é¥Xªí³æªº¤º®e</title> <programlisting role="php"> <![CDATA[ -Hi <?php echo $_POST["name"]; ?>. -You are <?php echo $_POST["age"]; ?> years old. +Hi <?php echo htmlspecialchars($_POST['name']); ?>. +You are <?php echo (int)$_POST['age']; ?> years old. ]]> </programlisting> <para> - ¦¹µ{¦¡ªº¿é¥X¼Ë¥»¬°¡G + ¦¹¸}¥»ªº¿é¥X¼Ë¥»¬°¡G </para> <screen role="html"> <![CDATA[ -Hi Joe. -You are 22 years old. +Hi Joe. You are 22 years old. ]]> </screen> </example> </para> <para> - ¤Wzµ{¦¡ªº§@¥Î¬O¦A©úÅ㤣¹L¤F¡CPHP ¦Û°Êªº¬°±z³]©w¤F <varname>$_POST["name"]</varname> ©M <varname>$_POST["age"]</varname> ¨âÓÅܼơC¤§«e¡A§Ų́ϥιL <varname>$_SERVER</varname> ³oÓ autoglobal¡A¦Ó¤Wz¨Ò¤l«h¬°±z¤¶²Ð¤F§t¦³©Ò¦³ POST ¸ê®Æªº <link linkend="reserved.variables.post">$_POST</link> autoglobal¡C½Ð¯d·N§ÚÌªí³æ©Ò¨Ï¥Îªº<emphasis>¤èªk</emphasis>¡£method¡¤¬O POST¡C¦pªG§ÚÌè¤~¨Ï¥Îªº¬O <emphasis>GET</emphasis>¡A¨º©Ò¦³ªºªí³æ¸ê®Æ±N¦s¦b <link linkend="reserved.variables.get">$_GET</link> ³oÓ autoglobal ¸Ì¤F¡CY±z¤£·Q²z·|ªí³æ¨Ï¥Î¤Fþ¤@ºØ¤èªk¡A¨º±z¥i¥H§ï¬°¨Ï¥Î <link linkend="reserved.variables.request">$_REQUEST</link> ³oÓ autoglobal¡C¥¦¥]§t¤F©Ò¦³ GET¡BPOST¡BCOOKIE ©M FILE ªº¸ê®Æ¡C½Ð°Ñ¦Ò <function>import_request_variables</function> ¨ç¼Æ¡C + °£¤F <function>htmlspecialchars</function> ©M + <literal>(int)</literal>ªº³¡¤À¤§¥~¡AÀ³¸Ó«Ü©ú¥Õ³oÓµ{¦¡°µ¤F¤°»ò¡C<function>htmlspecialchars</function>½T©w html ¤¤¯S®í¦r¤¸³Q½s½X¡A©Ò¥H¨ä¥L¤HµLªk¦b±zªººô¶©ñ¤J HTML ¼ÐÅҩάO Javascript¡CÃö©ó age ¨º¤@Äæ¡A§Ú̪¾¹D¥¦¬O¤@Ó¼ÆÈ¡A©Ò¥H¥i¥H¥Î<link linkend="language.types.typecasting">convert</link>¨Ó¥h°£¥ô¦ó¤£¥¿½Tªº¦r¤¸¡C¤]¥i¥H¨Ï¥Î<link linkend="ref.filter">filter</link>ÂX¥R¥\¯àÅý PHP ¦Û°Ê°µ³o¨Ç¨Æ¡CPHP ¦Û°Êªº¬°±z³]©w¤F <varname>$_POST["name"]</varname> ©M <varname>$_POST["age"]</varname> ¨âÓÅܼơC¤§«e¡A§Ų́ϥιL <varname>$_SERVER</varname> ³oÓ superglobal¡A¦Ó¤Wz¨Ò¤l«h¬°±z¤¶²Ð¤F§t¦³©Ò¦³ POST ¸ê®Æªº <link linkend="reserved.variables.post">$_POST</link> autoglobal¡C½Ð¯d·N§ÚÌªí³æ©Ò¨Ï¥Îªº<emphasis>¤èªk</emphasis>¡]method¡^¬O POST¡C¦pªG§ÚÌè¤~¨Ï¥Îªº¬O <emphasis>GET</emphasis>¡A¨º©Ò¦³ªºªí³æ¸ê®Æ±N¦s¦b <link linkend="reserved.variables.get">$_GET</link> ³oÓ superglobal ¸Ì¤F¡CY±z¤£·Q²z·|ªí³æ¨Ï¥Î¤Fþ¤@ºØ¤èªk¡A¨º±z¥i¥H§ï¬°¨Ï¥Î <link linkend="reserved.variables.request">$_REQUEST</li! nk> ³oÓ autoglobal¡C¥¦¥]§t¤F©Ò¦³ GET¡BPOST¡BCOOKIE ©M FILE ªº¸ê®Æ¡C½Ð°Ñ¦Ò <function>import_request_variables</function> ¨ç¼Æ¡C + </para> + <para> + ¤]¥i¥H¦b PHP ¤¤³B²z XForms ªº¿é¤J¡A¾¨ºÞ¥i¯à§ó³ßÅw¨Ï¥Îªø¤[¥H¨Ó¤ä´©¨}¦nªº + HTML ªí³æ¡CXForms + ¥Ø«eÁÙ¤£¾A¦Xªì¾ÇªÌ¨Ï¥Î¡A¦ý¬O±z¥i¯à¹ï¥¦·P¿³½ì¡C¤â¥U¤¤¦b¡u¯SÂI¡v¦³³¹¸`¹ï¦p¦ó<link + linkend="features.xforms">³B²z±q XForum ±µ¦¬¨ìªº¸ê®Æ</link>¶i¦æ¤F²µuªº¤¶²Ð¡C </para> </sect1> <sect1 id="tutorial.oldcode"> <title>¦b·sª©¥»ªº PHP ¤¤¨Ï¥Îµ{¦¡½X</title> <para> - ÀHµÛ PHP ªº¤é¯q´¶¤Î¡A¦bºô»Úºô¸ô¤W¤w¦³³\¦hµ{¦¡½X¥i¨Ñ¤U¸ü¨Ï¥Î©ó±zªºµ{¦¡¤¤¡CPHP ªº¶}µo¤Hû¤wºÉ¶q¨Ï±o·sª©¥»ªº PHP ¯à¦^·¹¬Û®e¡£backward compatible¡¤¡A©Ò¥H¤@¯ë¤W¦b·sª©¥»ªº PHP ¤¤¹B¦æÂª©¤U¶}µoªº PHP µ{¦¡¬O¤£·|¦³°ÝÃDªº¡C¦ý¨Æ¹ê¤W¬Y¨Ç§ó§ïÁÙ¬O»Ýnªº¡C + ÀHµÛ PHP ªº¤é¯q´¶¤Î¡A¦bºô»Úºô¸ô¤W¤w¦³³\¦hµ{¦¡½X¥i¨Ñ¤U¸ü¨Ï¥Î©ó±zªºµ{¦¡¤¤¡CPHP ªº¶}µo¤Hû¤wºÉ¶q¨Ï±o·sª©¥»ªº PHP ¯à¦^·¹¬Û®e¡]backward compatible¡^¡A©Ò¥H¤@¯ë¤W¦b·sª©¥»ªº PHP ¤¤¹B¦æÂª©¤U¶}µoªº PHP µ{¦¡¬O¤£·|¦³°ÝÃDªº¡C¦ý¨Æ¹ê¤W¬Y¨Ç§ó§ïÁÙ¬O»Ýnªº¡C </para> <para> ªñ´Á¨âÓ¼vÅTµ{¦¡½X³Ì¤jªº§ó§ï¬O¡G <itemizedlist> <listitem> <simpara> - <varname>$HTTP_*_VARS</varname> ¦¡ªº³¯¦C³Q¨ú¥N¡£¥H©¹¦b¨ç¼Æ©Î¤èªk¤¤¨Ï¥Î¥¦®É¥²¶·«ü©ú¥¦¬°¥þ°ì¡¤¡C¤U¦C·sªº <link linkend="language.variables.superglobals">autoglobal ³¯¦C</link>¦b PHP <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ª©¶}©l±À¥X¡G<varname>$_GET</varname>¡B<varname>$_POST</varname>¡B<varname>$_COOKIE</varname>¡B<varname>$_SERVER</varname>¡B<varname>$_ENV</varname>¡B<varname>$_REQUEST</varname> ©M <varname>$_SESSION</varname>¡C<varname>$HTTP_*_VARS</varname> ¦¡ªº³¯¦C¦p <varname>$HTTP_POST_VARS</varname> ¦Û PHP 3 ¶}©l´N¤w¦s¦b¡A²{®É¤´µM¥i¥H¨Ï¥Î¡C - + <varname>$HTTP_*_VARS</varname> ¦¡ªº³¯¦C³Q¨ú¥N¡]¥H©¹¦b¨ç¼Æ©Î¤èªk¤¤¨Ï¥Î¥¦®É¥²¶·«ü©ú¥¦¬°¥þ°ì¡^¡C¤U¦C·sªº <link linkend="language.variables.superglobals">superglobal ³¯¦C</link>¦b PHP <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ª©¶}©l±À¥X¡G<varname>$_GET</varname>¡B<varname>$_POST</varname>¡B<varname>$_COOKIE</varname>¡B<varname>$_SERVER</varname>¡B<varname>$_FILES</varname>¡B<varname>$_ENV</varname>¡B<varname>$_REQUEST</varname> ©M <varname>$_SESSION</varname>¡C¦³ªº<varname>$HTTP_*_VARS</varname> ¦¡ªº°}¦C¦p <varname>$HTTP_POST_VARS</varname> ¦Û PHP 3 ¶}©l´N¤w¦s¦b¡A²{®É¤´µM¥i¥H¨Ï¥Î¡C &avail.register-long-arrays; </simpara> </listitem> <listitem> <simpara> - ¨Ó¦Û¥~³¡ªºÅܼƤw¤£·|¦b¥þ°ì½d³ò¸Ì¦Û°Ê¬°±zµù¥U¡C¦Û PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink> °_¡A&php.ini; ¤¤ªº <link linkend="ini.register-globals">register globals</link> «ü¥O¤w¹w³]¬° <emphasis>off</emphasis>¡C¦s¨ú³o¨ÇÅܼÆÈªº«ØÄ³¤èªk¬O³z¹L¤W±¤¶²Ð¹Lªº autoglobal ³¯¦C¡Cªºµ{¦¡¡B®ÑÄy©Î±Ð¾Ç¤å³¹¥i¯à¨Ì¿à¦¹«ü¥O³]¦¨ on ¤~¯à¥¿±`¾Þ§@¡C·í³]¦¨ on ®É¡A<literal>http://www.example.com/foo.php?id=42</literal> ³o¤@ URL ¤¤ id ªºÈ¥iª½±µ¥H <varname>$id</varname> Åܼƨú±o¡CµL½×¬O on »P§_¡A±z³£¥i¥H¨Ï¥Î <varname>$_GET['id']</varname>¡A¦Ó¥B¬O³Q«ØÄ³ªº°µªk¡C +¨Ó¦Û¥~³¡ªºÅܼƤw¤£·|¦b¥þ°ì½d³ò¸Ì¦Û°Ê¬°±zµù¥U¡C¦Û PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink> °_¡A&php.ini; ¤¤ªº <link linkend="ini.register-globals">register_globals</link> «ü¥O¤w¹w³]¬° <emphasis>off</emphasis>¡C¦s¨ú³o¨ÇÅܼÆÈªº«ØÄ³¤èªk¬O³z¹L¤W±¤¶²Ð¹Lªº superglobal °}¦C¡Cªºµ{¦¡¡B®ÑÄy©Î±Ð¾Ç¤å³¹¥i¯à¨Ì¿à¦¹«ü¥O³]¦¨ on ¤~¯à¥¿±`¾Þ§@¡C·í³]¦¨ on ®É¡A<literal>http://www.example.com/foo.php?id=42</literal> ³o¤@ URL ¤¤ id ªºÈ¥iª½±µ¥H <varname>$id</varname> Åܼƨú±o¡CµL½×¬O on »P§_¡A±z³£¥i¥H¨Ï¥Î <varname>$_GET['id']</varname>¡A¦Ó¥B¬O³Q«ØÄ³ªº°µªk¡C </simpara> </listitem> </itemizedlist> - Ãö©ó³o¨Ç§ó§ïªº¸Ô²Ó¸ê®Æ¡A½Ð¾\Ū<link linkend="language.variables.predefined">¹w¥ý©w¸qÅܼÆ</link>¤@¸`©M¨º¨àªº³sµ²¡C + Ãö©ó³o¨Ç§ó§ïªº¸Ô²Ó¸ê®Æ¡A½Ð¾\Ū<link linkend="language.variables.predefined">¹w³]ÅܼÆ</link>¤@¸`©M¨º¸Ìªº³sµ²¡C </para> </sect1> <sect1 id="tutorial.whatsnext"> - <title>¤U¤@¨B</title> + <title>¤U¤@¨B¡H</title> <para> - ±z²{¦bÀ³¦³¨¬°÷ªºª¾ÃÑ¥h²z¸Ñ¤â¥U¤¤¤j³¡¥÷ªº¤º®e©M©Ò´£¤Îªº½d¨Ò¡C§ó¦hªº½d¨Ò¥i¦b php.net ªº<ulink url="&url.php.links;">ºô¯¸³s±µ°Ï</ulink>§ä¨ì¡C +±z²{¦bÀ³¦³¨¬°÷ªºª¾ÃÑ¥h²z¸Ñ¤â¥U¤¤¤j³¡¥÷ªº¤º®e©M©Ò´£¤Îªº½d¨Ò¡C§ó¦hªº½d¨Ò¥i¦b php.net ªººô¯¸³s±µ°Ï<ulink url="&url.php.links;">&url.php.links;</ulink>§ä¨ì¡C </para> <para> - ¦¹¥~¡APHP Conference Material Sites¡£<ulink url="&url.php.conf;">&url.php.conf;</ulink> ©M <ulink url="&url.php.talks;">&url.php.talks;</ulink>¡¤¤]¦³§ó¦h¤¶²Ð PHP ªº¬ã°Q·|¤Û¿O¤ù¨Ñ±zÂsÄý¡C + ¦¹¥~¡APHP Conference Material Sites¡£<ulink url="&url.php.conf;">&url.php.conf;</ulink> ©M <ulink url="&url.php.talks;">&url.php.talks;</ulink>¡¤¤]¦³§ó¦h¤¶²Ð PHP ªº¬ã°Q·|¤Û¿O¤ù¨Ñ±zÂsÄý¡A¥i¥H¬Ý¨ì§ó¦h PHP ¥i¥H°µ¤°»ò¡C </para> </sect1> </chapter>
http://cvs.php.net/viewvc.cgi/phpdoc-tw/chapters/tutorial.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc-tw/chapters/tutorial.xml diff -u phpdoc-tw/chapters/tutorial.xml:1.2 phpdoc-tw/chapters/tutorial.xml:1.3 --- phpdoc-tw/chapters/tutorial.xml:1.2 Sun Jun 29 09:29:18 2003 +++ phpdoc-tw/chapters/tutorial.xml Wed Apr 25 08:16:57 2007 @@ -1,7 +1,5 @@ <?xml version="1.0" encoding="big5"?> -<!-- $Revision: 1.2 $ --> -<!-- $Author: kevinkee $ --> -<!-- EN-Revision: 1.22 Maintainer: Kevin Status: ready --> +<!-- EN-Revision: 1.48 Maintainer: coldocean Status: ready --> <chapter id="tutorial"> <title>PHP ¤Jªù±Ð¾Ç</title> @@ -15,11 +13,16 @@ <sect1 id="tutorial.requirements"> <title>§Ú»Ýn¨Ç¤°»ò©O¡H</title> <para> - ¦b¦¹±Ð¾Ç¡A§Ṵ́²©w±zªº¦øªA¾¹¤w¸g¦w¸Ë¤F PHP¡A¦Ó¥B©Ò¦³¥H <filename>.php</filename> ¬°°ÆÀɦWªºÀÉ®×¥þ¥æ¥Ñ PHP ¨Ó³B²z¡C¤@¯ëªº¦øªA¾¹³£¹w³]¦¹°ÆÀɦW¬° PHP ¤åÀÉ¡A¦ý¬O¬°¦w¥þ°_¨£¡AÁÙ¬O¥ý¦V±zªº¦øªA¾¹ºÞ²zû¬d¸ß¡CY±zªº¦øªA¾¹¤w¤ä´© PHP¡A±z¥u»Ý±N <filename>.php</filename> ÀÉÀx¦s¦b¸Ó¦øªA¾¹ªººô¶¥Ø¿ý¸Ì¡A¦øªA¾¹´N¥i¥H¬°±zåªR PHP ÀɮסA¬J¤£¥Î½sĶÀɮסA¤]¤£»Ýn¦w¸Ë¥ô¦ó¤u¨ã¡C±z´N§â³o¨Ç PHP ÀÉ·í§@¬O´¶³qªººô¶¦n¤F¡A¥u¤£¹L¬O¡A§Ú̬°¥¦¥[¤J¤F¤j¶q·sªº HTML ¼ÐÅÒ¡A¦Ó³o¨Ç·s¼ÐÅҨϱo±z¥i¥H°µ¥X¦U¦¡¦U¼Ë¡BÅܤƵL½aªº§âÀ¸¡I¤j³¡¥÷ªººô¶±H¦sªA°È°Ó³£¤ä´© PHP¡A¦ý¦pªG±zªºªA°È°Ó¤£´£¨Ñ¦¹¤ä´©¡A±z¥i¥H°Ñ¦Ò <ulink url="&url.php.links;">PHP Links</ulink> ¤@¸`¡C¨º¨à¦C¤F³\¦h¤ä´© PHP ªºªA°È°Ó¦W³æ¡C + ¦b¦¹±Ð¾Ç¡A§Ṵ́²©w±zªº¦øªA¾¹¤w¸g¦w¸Ë¤F PHP¡A¦Ó¥B©Ò¦³¥H <filename>.php</filename> ¬°°ÆÀɦWªºÀÉ®×¥þ¥æ¥Ñ PHP ¨Ó³B²z¡C¤@¯ëªº¦øªA¾¹³£¹w³]¦¹°ÆÀɦW¬° PHP ¤åÀÉ¡A¦ý¬O¬°¦w¥þ°_¨£¡AÁÙ¬O¥ý¦V±zªº¦øªA¾¹ºÞ²zû¬d¸ß¡CY±zªº¦øªA¾¹¤w¤ä´© PHP¡A±z¥u»Ý±N <filename>.php</filename> ÀÉÀx¦s¦b¸Ó¦øªA¾¹ªººô¶¥Ø¿ý¸Ì¡A¦øªA¾¹´N¥i¥H¬°±zåªR PHP ÀɮסA¬J¤£¥Î½sĶÀɮסA¤]¤£»Ýn¦w¸Ë¥ô¦ó¤u¨ã¡C±z´N§â³o¨Ç PHP ÀÉ·í§@¬O´¶³qªººô¶¦n¤F¡A¥u¤£¹L¬O¡A§Ú̬°¥¦¥[¤J¤F¤j¶q·sªº HTML ¼ÐÅÒ¡A¦Ó³o¨Ç·s¼ÐÅҨϱo±z¥i¥H°µ¥X¦U¦¡¦U¼Ë¡BÅܤƵL½aªº§âÀ¸¡I¤j³¡¥÷ªººô¶±H¦sªA°È°Ó³£¤ä´© PHP¡A¦ý¦pªG±zªºªA°È°Ó¤£´£¨Ñ¦¹¤ä´©¡A±z¥i¥H°Ñ¦Ò <ulink url="&url.php.links;">PHP ¬ÛÃö³sµ²</ulink> ¤@¸`¡C¨º¨à¦C¤F³\¦h¤ä´© PHP ªºªA°È°Ó¦W³æ¡C </para> <para> - ¦pªG±z·Q¦b¦Û¤vªº¹q¸£¡£©Î°Ï°ìºô¸ô¤Wªº¥D¾÷¡¤¤W½s¼g PHP µ{¦¡¡A¨º»ò±zº¥ý¥²¶·¦w¸Ë¤@Óºô¶¦øªA¾¹¡A¦p <link linkend="install.apache">Apache</link>¡C·íµM¡AÁÙ¦³ <ulink url="&url.php.downloads;">PHP</ulink> °Õ¡C±z³Ì¦n¤]¦w¸Ë¤@Ó¸ê®Æ®w¦øªA¾¹¡A¦p <ulink url="&url.mysql.docs;">MySQL</ulink>¡C±z¥i¥H¤À¶}¦w¸Ë³o¨Çµ{¦¡¡A¤]¥i¥H¨Ï¥Î<ulink - url="&url.installkits;">®M¸Ë³nÅé</ulink>¤@¦¸¹L¦w¸Ë©Ò¦³ªºµ{¦¡¡CµL½×¦b Linux ÁÙ¬O¦b Windows ªºÀô¹Ò¤U¦w¸Ë PHP ³£¬O«D±`®e©öªº¡CY¨Ï¥Î Linux ªº¸Ü¡A<ulink url="&url.rpmfind;">rpmfind</ulink> ¥iÀ°±z§ä¨ì©Ò»Ýªº RPM ®M¥ó¡C + ¦pªG±z·Q¦b¦Û¤vªº¹q¸£¡£©Î°Ï°ìºô¸ô¤Wªº¥D¾÷¡¤¤W½s¼g PHP µ{¦¡¡A¨º»ò±zº¥ý¥²¶·¦w¸Ë¤@Óºô¶¦øªA¾¹¡A¦p <ulink url="&url.apache;">Apache</ulink>¡C·íµM¡AÁÙ¦³ <ulink url="&url.php.downloads;">PHP</ulink> °Õ¡C±z³Ì¦n¤]¦w¸Ë¤@Ó¸ê®Æ®w¦øªA¾¹¡A¦p <ulink url="&url.mysql.docs;">MySQL</ulink>¡C + </para> + <para> + ±z¥i¥H¤À¶}¦w¸Ë³o¨Çµ{¦¡©Î¿ï¾Ü¤@Ó¸û²³æªº¤èªk¨Ó¦w¸Ë¡C¥i°Ñ¦Ò¤â¥U¤¤<link linkend="install">PHP ¦w¸Ë«ü¤Þ + PHP</link> ªº³¡¤À¡]°²³]±z¤w¸g³]©w¦nºô¶¦øªA¾¹¡^¡A¦pªG¦w¸Ë PHP ¹Lµ{¹J¨ì¤F³Â·Ð¡A§ÚÌ«ØÄ³±z¥i¥H¦b<ulink url="&url.php.mailing-lists;">¦w¸Ë«H¥ó¦Cªí</ulink>¤¤¸ß°Ý¡C¦pªG¿ï¾Ü¨Ï¥Î¸û²³æªº¤èªk¡A«h¥i¥H¾A¦X±z§@·~¨t²Î<ulink + url="&url.installkits;">¹w¥ý³]©w¦nªº®M¥ó</ulink>¡A¥un´Xӷƹ«ªºÂI¿ï¡A´N¥i¥H¦Û°Ê¤@¦¸¦w¸Ë©Ò¦³ªºµ{¦¡¡CµL½×¦b MacOSX¡ALinux ÁÙ¬O¦b Windows ªºÀô¹Ò¤U¦w¸Ë ¤ä´© PHP ªººô¶¦øªA¾¹³£¬O«D±`®e©öªº¡CY¨Ï¥Î Linux ªº¸Ü¡A<ulink url="&url.rpmfind;">rpmfind</ulink> ©M <ulink url="&url.rpmfind.pbone;">PBone</ulink> ¥iÀ°±z§ä¨ì©Ò»Ýªº RPM ®M¥ó¡A¦Ó <ulink + url="&url.apt-get;">apt-get</ulink>¥i¥H§ä¨ì Debian ªº®M¥ó¡C </para> </sect1> @@ -44,7 +47,7 @@ ]]> </programlisting> <simpara> - ±µ¤U¨Ó¥ÎÂsÄý¾¹¦s¨ú±zèè«Ø¥ßªºÀɮסCY±z¬O¦b¥»¾÷¶}µoµ{¦¡¡A¨ººô§}±N·|¬O¡G<literal>http://localhost/hello.php</literal> ©Î <literal>http://127.0.0.1/hello.php</literal>¡A¨ú¨M©ó±z¦p¦ó°t¸m±zªººô¶¦øªA¾¹¡CÁöµMºô¶¦øªA¾¹°t¸m¤£¦b¦¹±Ð¾Çªº½d³ò¡A¦ý±z¥i¥H¬Ý¬Ýºô¶¦øªA¾¹²ÕºAÀɤ¤ªº <varname>DocumentRoot</varname> ©M <varname>ServerName</varname> ¨âÓ«ü¥O¡C¨Ò¦p¡AApache ªº²ÕºAÀɬO &httpd.conf;¡C¦pªG©Ò¦³ªº³]©w³£¥¿½Tªº¸Ü¡APHP ±N·|åªR³oÓÀɮסA¨Ã¿é¥X¤U¦C HTML ½X¦Ü±zªºÂsÄý¾¹¡G +±µ¤U¨Ó¥ÎÂsÄý¾¹¿é¤Jºô¶¦øªA¾¹ªº URL ¥[¤W "/hello.php"¡A¨Ó¦s¨ú±zèè«Ø¥ßªºÀɮסCY±z¬O¦b¥»¾÷¶}µoµ{¦¡¡A¨ººô§}±N·|¬O¡G<literal>http://localhost/hello.php</literal> ©Î <literal>http://127.0.0.1/hello.php</literal>¡A¨ú¨M©ó±z¦p¦ó°t¸m±zªººô¶¦øªA¾¹¡C¦pªG©Ò¦³ªº³]©w³£¥¿½Tªº¸Ü¡APHP ±N·|¸ÑªR³oÓÀɮסA¨Ã¿é¥X¤U¦C HTML ½X¦Ü±zªºÂsÄý¾¹¡G </simpara> <screen role="html"> <![CDATA[ @@ -61,53 +64,69 @@ </example> </para> <para> - ª`·N¡A©M CGI µ{¦¡½X¤£¦Pªº¬O¡APHP Àɤ£»Ýn¬O¥i°õ¦æªºÀɮשΧt¦³¥ô¦ó¯S§Oªº³]©w¡C§ÚÌ¥u·í¥¦¬O´¶³qªº HTML ÀɮסA¤£¦Pªº¬O¥¦¦³³\¦h«D±`¦³¥Îªº¼ÐÅÒ¦Ó¤w¡C - </para> - <para> - ¨ä¹ê¡A¤Wzªºµ{¦¡Â²³æ¨ì®Ú¥»¥Î¤£µÛ¨Ï¥Î PHP ¨Ó«Ø¥ß°Õ¡C¥¦¥u¤£¹L¬O¨Ï¥Î¤F <function>echo</function> ±Ôz¨Ó¿é¥X <literal>Hello World</literal>¡A¦p¦¹¦Ó¤w¡C + ¨ä¹ê¡A¤Wzªºµ{¦¡Â²³æ¨ì®Ú¥»¥Î¤£µÛ¨Ï¥Î PHP ¨Ó«Ø¥ß¡C¥¦¥u¤£¹L¬O¨Ï¥Î¤F <function>echo</function> ±Ôz¨Ó¿é¥X <literal>Hello World</literal>¡A¦p¦¹¦Ó¤w¡Cª`·N¤@ÂI¡A³oÓÀÉ®×<emphasis>¤£»Ýn¬O¥i°õ¦æªº</emphasis>©Î¦³¨ä¥L¯S®ín¨D¡C¦]¬°¨Ï¥Î ".php" ·í§@°ÆÀɦW ¡]¦øªA¾¹¤w³Q³]©w§â³oÃþÀɮ׶ǵ¹ PHP¡^¡A©Ò¥H¦øªA¾¹·|§ä¨ì³oÓÀɮסA¨Ã¼g¥Î PHP ¨Ó¸ÑĶ¡C¥i¥H§â³oÓµø¬°¤@Ó¤@¯ëªº HTML ÀɮסA¥¦¦³¤@¨Ç¥i¨Ï¥Îªº¯S§O¼ÐÅҥΨӰµ«Ü¦h¦³½ìªº¨Æ¡C </para> <para> - ¥i¬O¡A¦pªG¦s¨ú¦¹Àɮ׮ɨèS¦³¿é¥X¥ô¦óªF¦è¡A©ÎÂsÄý¾¹´£¥Ü±z¤U¸ü¥¦¡A¤S©ÎªÌ¬O¬Ý¨ìì¨Óªºµ{¦¡½X¡A¨º§Ú̪֩w±zªººô¶¦øªA¾¹¨Ã¤£¤ä´© PHP ¤F¡C³o®É¡A±z°ß¦³¨D±Ï©ó±zªº¦øªA¾¹ºÞ²zû¡A©Î¦Û¦æ«ö·Ó<link linkend="installation">¦w¸Ë¤â¥U</link>¸Ìªº«ü¥Ü«Ø¥ß PHP ¤ä´©¡C·íµM¡AY±z¹J¤WµLªk¸Ñ¨Mªº°ÝÃD¡A<ulink url="&url.php.support;">¤ä´©¤¤¤ß</ulink>¨º¨à¦³¤j¶qªº¸ê·½¥i¥HÀ°¨ì±z¡C +¥i¬O¡A¦pªG¦s¨ú¦¹Àɮ׮ɨèS¦³¿é¥X¥ô¦óªF¦è¡A©ÎÂsÄý¾¹´£¥Ü±z¤U¸ü¥¦¡A¤S©ÎªÌ¬O¬Ý¨ìì¨Óªºµ{¦¡½X¡A¨º¥i¯à±zªººô¶¦øªA¾¹¨Ã¨S¦³¶}±Ò PHP¡A©ÎªÌ¨S¦³¥¿½T³]©w¡C³o®É¡A±z¥i¥H¸ß°Ý¦øªA¾¹ºÞ²zû«ö·Ó¤â¥U¸Ì<link linkend="install">¦w¸Ë</link>³oÓ³¹¸`¸Ìªº«ü¥Ü¡A¨Ó¬°±z±Ò¥Î PHP ¤ä´©¡C¦pªG±z¬O¦bªñºÝ¶}µoµ{¦¡¡A¥i¥H¾\Ū¦w¸Ëªº³¹¸`¨Ã½T»{©Ò¦³³]©w¬O¥¿½Tªº¡A¨Ã½T»{±z¬O¸g¥Ñ http ¨Ó¦s¨ú¦øªA¾¹ªºÀɮסA¦pªG¥u¬O±qÀɮרt²Î¶}±ÒÀɮסA¨º»ò´N¤£·|¸g¹L PHP ªº¸ÑªR¡C·íµM¡AY±z¹J¤WµLªk¸Ñ¨Mªº°ÝÃD¡A<ulink url="&url.php.support;">PHP ¤ä´©</ulink>¨º¨à¦³¤j¶qªº¸ê·½¥i¥HÀ°§U±z¡C </para> <para> - ³oÓ¨Ò¤l¤]®i¥Ü¤F PHP ¼ÐÅÒªº®æ¦¡À³¥Î¡C§Ų́ϥΠ<literal><?php</literal> ¨Óªí¥Ü PHP µ{¦¡°Ï¶ôªº¶}©l¡AµM«á¥Î <literal>?></literal> ¼ÐÅÒ¨Óªí¥Üµ²§ô¡C±z¥i¥H¹³³o¼Ëªº¦b¤@Ó HTML Àɤº¥ô·N¶i¤J©Î¸õ¥X PHP ¼Ò¦¡¡C¸Ô²Óªº»yªk¤ÎÀ³¥Î½Ð°Ñ¦Ò<link linkend="language.basic-syntax">°ò¥»»yªk</link>¤@³¹¡C + ³oÓ¨Ò¤l¤]®i¥Ü¤F PHP ¼ÐÅÒªº®æ¦¡À³¥Î¡C§Ų́ϥΠ<literal><?php</literal> ¨Óªí¥Ü PHP µ{¦¡°Ï¶ôªº¶}©l¡AµM«á¥Î <literal>?></literal> ¼ÐÅÒ¨Óªí¥Üµ²§ô¡C±z¥i¥H¹³³o¼Ëªº¦b¤@Ó HTML Àɤº¥ô·N¶i¤J©Î¸õ¥X PHP ¼Ò¦¡¡C¸Ô²Óªº»yªk¤ÎÀ³¥Î½Ð°Ñ¦Ò<link linkend="language.basic-syntax">°ò¥» PHP »yªk</link>¤@³¹¡C </para> <note> + <title>Ãö©ó´«¦æ</title> + <para> + ¾¨ºÞ´«¦æ¦b HTML ¤¤ªº¹ê»Ú·N¸q¤£¬O«Ü¤j¡A¦ý¾A·í¦a¨Ï¥Î´«¦æ¥i¥H¨Ï HTML + ©öŪ¥B¬üÆ[¡CPHP ·|¦b¿é¥X®É¦Û°Ê§R°£¨äµ²§ô²Å¸¹ <literal>?></literal> + «áªº¤@Ó´«¦æ¡C¸Ó¥\¯à¥Dn¬O°w¹ï¦b¤@Ó¶±¤¤´O¤J¦h¬q PHP + ¥N½X©ÎªÌ¥]§t¤FµL¹ê½è©Ê¿é¥Xªº PHP ¤å¥ó¦Ó³]p¡A»P¦¹¦P®É¤]³y¦¨¤F¤@¨ÇºÃ´b¡C¦pªG¦b + PHP µ²§ô²Å <literal>?></literal> «á¿é¥X´«¦æªº¸Ü¡A¥i¥H¦b¨ä«á¥[¤@ӪŮæ¡A©ÎªÌ¦b³Ì«áªº¤@Ó + echo/print »y¥y¤¤¥[¤J¤@Ó´«¦æ¡C + </para> + </note> + <note> <title>Ãö©ó¤å¦r½s¿è¾¹</title> <para> - ¥«³õ¤W¦³³\¦h¥i¥H¥Î¨Ó«Ø¥ß¡B½s¼g©ÎºÞ²z PHP Àɮתº¤å¦r½s¿è¾¹©M¾ã¦X¦¡¶}µoÀô¹Ò (IDE)¡C³¡¥÷ªº³o¨Ç¤u¨ã¥i¦b <ulink url="&url.phpeditorlist;">PHP ½s¿è¾¹²M³æ</ulink>¸Ì§ä¨ì¡CY±z·Q±ÀÂˬYÓ½s¿è¾¹¡A½Ð¦V¤Wzºô¯¸ªºt³d¤H´£¥Xn¨D¡C¤@Ó¾Ö¦³»yªk¤À¦âÅã¥Ü (syntax highlighting) ªº½s¿è¾¹¹ïµ{¦¡ªº½s¿è±N´£¨Ñ«Ü¤jªºÀ°§U¡C + ¥«³õ¤W¦³³\¦h¥i¥H¥Î¨Ó«Ø¥ß¡B½s¼g©ÎºÞ²z PHP Àɮתº¤å¦r½s¿è¾¹©M¾ã¦X¦¡¶}µoÀô¹Ò (IDEs)¡C³¡¥÷ªº³o¨Ç¤u¨ã¥i¦b <ulink url="&url.phpeditorlist;">PHP ½s¿è¾¹²M³æ</ulink>¸Ì§ä¨ì¡CY±z·Q±ÀÂˬYÓ½s¿è¾¹¡A½Ð¦V¤Wzºô¯¸ªºt³d¤H´£¥Xn¨D¡C¤@Ó¾Ö¦³»yªk¤À¦âÅã¥Ü (syntax highlighting) ªº½s¿è¾¹¹ïµ{¦¡ªº½s¿è±N´£¨Ñ«Ü¤jªºÀ°§U¡C </para> </note> <note> <title>Ãö©ó¤å¦r³B²z¾¹</title> <para> - ¤å¦r³B²z¾¹¦p StarOffice Writer¡AMicrosoft Word ¤Î Abiword ¨Ã¤£¾A¦X¥Î¨Ó½s¿è PHP ÀɮסC¦pªG±zÁÙ¬O·Q¥Î¤Wz¤å¦r³B²z¾¹¨Ó½s¿è PHP µ{¦¡¡A½Ð°È¥²±NÀÉ®×Àx¦s¦¨¯Â¤å¦rÀÉ¡£Plain Text¡¤¡A§_«h PHP ±NµLªkŪ¨ú©M°õ¦æ¸ÓÀɮסC + ¤å¦r³B²z¾¹¦p StarOffice Writer¡AMicrosoft Word ¤Î Abiword ¨Ã¤£¾A¦X¥Î¨Ó½s¿è PHP ÀɮסC¦pªG±zÁÙ¬O·Q¥Î¤Wz¤å¦r³B²z¾¹¨Ó½s¿è PHP µ{¦¡¡A½Ð°È¥²±NÀÉ®×Àx¦s¦¨<emphasis>¯Â¤å¦rÀÉ</emphasis>¡A§_«h PHP ±NµLªkŪ¨ú©M°õ¦æ¸ÓÀɮסC </para> </note> <note> <title>Ãö©ó Windows ªº°O¨Æ¥»</title> <para> - ¦pªG±z¨Ï¥Î Windows ªº°O¨Æ¥»¡£Notepad¡¤¡A½Ð¦bÀx¦s®É±N°ÆÀɦW§ï¬° .php¡C¬°¤F¨¾¤î°O¨Æ¥»¦bÀx¦s®É¦Û°Ê¥[¤W .txt °ÆÀɦW¡A±z¥i¥H¦bÀx¦sÀɮ׮ɦbÀɦW«e«á¥[¤WÂù¤Þ¸¹¡£¦p¡G"<filename>hello.php</filename>"¡¤¡A©Î¦b¦sÀɹï¸Ü¤èµøµ¡ªº¦sÀÉÃþ«¬¶µ¿ï"©Ò¦³ªºÀÉ®×"¡AµM«á¿é¤JÀɦW¡£³o¼Ë´N¤£»ÝnÂù¤Þ¸¹¤F¡¤¡C + ¦pªG±z¨Ï¥Î Windows ªº°O¨Æ¥»¡£Notepad¡¤¡A½Ð¦bÀx¦s®É±N°ÆÀɦW§ï¬° .php¡C¬°¤F¨¾¤î°O¨Æ¥»¦bÀx¦s®É¦Û°Ê¥[¤W .txt °ÆÀɦW¡A±z¥i¥H¦bÀx¦sÀɮ׮ɦbÀɦW«e«á¥[¤WÂù¤Þ¸¹¡£¦p¡G"<filename>hello.php</filename>"¡¤¡A©Î¦b¦sÀɹï¸Ü¤èµøµ¡ªº¦sÀÉÃþ«¬¶µ¿ï"©Ò¦³ªºÀÉ®×"¡AµM«á¿é¤JÀɦW¡A³o¼Ë´N¤£»ÝnÂù¤Þ¸¹¤F¡C </para> </note> <para> - ®¥³ß¡I±z¤w¦¨¥\ªº«Ø¥ß¤F¤@Ó PHP µ{¦¡¡C¨º²{¦b§Ú̦A¬°¥¦¥[¤W¤@Ó¼s¬°¤Hª¾ªº PHP ¨ç¼Æ¡G<function>phpinfo</function>¡C¦b±zªºµ{¦¡©I¥s <function>phpinfo</function> «á¡A±z±N·|¬Ý¨ì³\¦h«D±`¦³¥Îªº¸ê°T¡A¥]¬A±zªº¦øªA¾¹Àô¹Ò¡APHP ªº³]©w±¡ªp¡A¦p¥i¥Îªº<link linkend="language.variables.predefined">¹w¥ý©w¸qÅܼÆ</link>¡A¤w¸ü¤Jªº PHP ¼Ò²Õ¤Î<link linkend="configuration">²ÕºAªº³]©w</link>µ¥¡C±z¤£§«ªá¨Ç®É¶¡¥h»{ÃѤ@¤U³o¨Ç«nªº°T®§¡C + ±z¤w¦¨¥\ªº«Ø¥ß¤F¤@Ó PHP µ{¦¡¡C²{¦b¸Ó¬O§Ú̫إߤ@ӳ̼s¬°¤Hª¾ªº PHP ¸}¥»ªº®ÉÔ¤F¡I¦b±zªºµ{¦¡©I¥s <function>phpinfo</function> «á¡A±z±N·|¬Ý¨ì³\¦h«D±`¦³¥Îªº¸ê°T¡A¥]¬A±zªº¦øªA¾¹Àô¹Ò¡APHP ªº³]©w±¡ªp¡A¦p¥i¥Îªº<link linkend="language.variables.predefined">¹w³]ÅܼÆ</link>¡A¤w¸ü¤Jªº PHP ¼Ò²Õ¤Î<link linkend="configuration">²ÕºAªº³]©w</link>µ¥¡C±z¤£§«ªá¨Ç®É¶¡¥h»{ÃѤ@¤U³o¨Ç«nªº°T®§¡C </para> - + <para> + <example> + <title>¨Ï¥Î PHP ¨ú±o¨t²Î¸ê°T</title> + <programlisting role="php"> +<![CDATA[ +<?php phpinfo(); ?> +]]> + </programlisting> + </example> + </para> </sect1> <sect1 id="tutorial.useful"> <title>¤@Ó¦³¹ê»Ú¥Î³~ªºµ{¦¡</title> - <para> - ²{¦bÅý§Ų́ӽs¼g¤@Ө㦳¹ê»Ú¥Î³~ªºµ{¦¡¡A¥Î¥¦¨ÓÃѧO«ô³XªÌ©Ò¨Ï¥ÎªºÂsÄý¾¹ºØÃþ¡CÃѧOÂsÄý¾¹ªº¤èªk¬OÀˬdÂsÄý¾¹¶Ç»¼µ¹¦øªA¾¹ªº user agent ¦r¦ê¡C¦¹¦r¦ê¬O HTTP n¨Dªº¤@³¡¥÷¡A¦Ó¥¦ªº¸ê°T¬O¥H<link - linkend="language.variables">ÅܼÆ</link>ªº§Î¦¡Àx¦s¡CPHP ªºÅܼƬO¥H¤@Óª÷¿ú²Å¸¹¡£$¡¤¬°¶}ºÝ¡A¦Ó²{¦b§ÚÌnªºÅܼƬO <varname>$_SERVER["HTTP_USER_AGENT"]</varname>¡C + <para> ²{¦bÅý§Ų́ӽs¼g¤@Ө㦳¹ê»Ú¥Î³~ªºµ{¦¡¡A¥Î¥¦¨ÓÃѧO«ô³XªÌ©Ò¨Ï¥ÎªºÂsÄý¾¹ºØÃþ¡CÃѧOÂsÄý¾¹ªº¤èªk¬OÀˬdÂsÄý¾¹¶Ç»¼µ¹¦øªA¾¹ªº user agent ¦r¦ê¡C¦¹¦r¦ê¬O HTTP n¨Dªº¤@³¡¥÷¡A¦Ó¥¦ªº¸ê°T¬O¥H<link + linkend="language.variables">ÅܼÆ</link>ªº§Î¦¡Àx¦s¡CPHP ªºÅܼƬO¥H¤@Ó¿ú¦r²Å¸¹¡]$¡^¬°¶}ºÝ¡A¦Ó²{¦b§ÚÌnªºÅܼƬO <varname>$_SERVER["HTTP_USER_AGENT"]</varname>¡C </para> <note> <para> - <link linkend="reserved.variables.server">$_SERVER</link> ¬O¤@Ó¯S§Oªº PHP «O¯dÅܼơC¥¦³QºÙ¬° <link linkend="language.variables.superglobals">Autoglobal</link>¡£©Î Superglobal¡¤¡A§t¦³ºô¶¦øªA¾¹ªº©Ò¦³¸ê°T¡C³o¨Ç¯S§OªºÅܼƬO¦b PHP <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ª©¥»°_¤~¥[¤Jªº¡C¦b¦¹ª©¥»¤§«e¡A§Ų́ϥΪº¬O¦¡ªº <varname>$HTTP_*_VARS</varname> ³¯¦C¡A¦p <varname>$HTTP_SERVER_VARS</varname>¡CÁöµM¥¦Ì¤w°h§Ð¡A¦ý¤´Â¦s¦b¡C½Ð¶¶«K°Ñ¦Ò¤@¤U<link linkend="tutorial.oldcode">µ{¦¡½X</link>ª`·N¡C + <link linkend="reserved.variables.server">$_SERVER</link> ¬O¤@Ó¯S§Oªº PHP «O¯dÅܼơA¥]§t©Ò¦³ºô¶¦øªA¾¹ªº¸ê°T¡C¥¦³QºÙ¬° ¶W¥þ°ìÅܼơ]superglobal¡^¡A¥¦§t¦³ºô¶¦øªA¾¹ªº©Ò¦³¸ê°T¡C°Ñ¾\¤â¥U¤¤<link linkend="language.variables.superglobals">superglobal</link>³o¨Ç¯S§OªºÅܼƬO¦b PHP <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ª©¥»°_¤~¥[¤Jªº¡C¦b¦¹ª©¥»¤§«e¡A§Ų́ϥΪº¬O¦¡ªº <varname>$HTTP_*_VARS</varname> °}¦C¡A¦p <varname>$HTTP_SERVER_VARS</varname>¡CÁöµM¥¦Ì¤w¼o±ó¤£¥Î¡A¦ý¤´Â¦s¦b¡C½Ð¶¶«K°Ñ¦Ò¤@¤U<link linkend="tutorial.oldcode">µ{¦¡½X</link>ªºª`·N¨Æ¶µ¡C </para> </note> <para> @@ -115,69 +134,55 @@ </para> <para> <example> - <title> ¿é¥X³¯¦C¤¤ªºÅܼÆ</title> + <title> ¿é¥X°}¦C¤¤ªºÅܼÆ</title> <programlisting role="php"> <![CDATA[ <?php echo $_SERVER["HTTP_USER_AGENT"]; ?> ]]> </programlisting> <para> - ¤Wzµ{¦¡½Xªº¿é¥X¼Ë¥»¡G + ¤Wz¸}¥»ªº¿é¥X½d¨Ò¡G </para> <screen role="html"> -Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) </screen> </example> </para> <para> - PHP ¾Ö¦³³\¦h¤£¦P<link linkend="language.types">ºØÃþ</link>ªºÅܼơA¦Ó¤Wz¨Ò¤l¤¤¡A§ÚÌ¥u¤£¹L¦C¦L¥X¤F<link linkend="language.types.array">³¯¦C</link>ªº¨ä¤¤¤@Ó¤¸¯À¡C - </para> - <para> - <varname>$_SERVER</varname> ¥u¬O¨ä¤¤¤@Ó PHP ¦Û°Ê´£¨Ñµ¹±zªºÅܼơC¸Ô²Ó²M³æ½Ð¬d¬Ý¤â¥U¤¤<link linkend="reserved.variables">«O¯dªºÅܼÆ</link>¤@¸`¡A©Î«Ø¥ß¤@Ó¦³¤U¦C¤@¥y±ÔzªºÀɮסG - </para> - <para> - <example> - <title> ¥H <function>phpinfo</function> Åã¥Ü©Ò¦³¥ý«e©w¸qªºÅܼÆ</title> - <programlisting role="php"> -<![CDATA[ -<?php phpinfo(); ?> -]]> - </programlisting> - </example> + PHP ¾Ö¦³³\¦h¤£¦P<link linkend="language.types">«¬§O</link>ªºÅܼơA¦Ó¤Wz¨Ò¤l¤¤¡A§ÚÌ¥u¤£¹L¦C¦L¥X¤F<link linkend="language.types.array">°}¦C</link>ªº¨ä¤¤¤@Ó¤¸¯À¡C </para> <para> - ·í±z¥HÂsÄý¾¹¦s¨ú¤WzÀɮ׮ɡA±z±N·|¬Ý¨ì¤@½g¥Rº¡µÛ PHP ¸ê°Tªººô¶¡A·í¤¤¤]¥]¬A¤F©Ò¦³±z¥i¨Ï¥ÎªºÅܼƲM³æ¡C - </para> + <varname>$_SERVER</varname> ¥u¬O¨ä¤¤¤@Ó PHP ¦Û°Ê´£¨Ñµ¹±zªºÅܼơC¸Ô²Ó²M³æ½Ð¬d¬Ý¤â¥U¤¤<link linkend="reserved.variables">«O¯dªºÅܼÆ</link>¤@¸`¡A©ÎÂǥѤ§«e³¹¸`¤¤½d¨Òªº<function>phpinfo</function> ¨ç¦¡¿é¥X¨ú±o§¹¾ãªº¦Cªí¡C <para> ·íµM¡A±z¥i¥H¦b¤@Ó PHP ¼ÐÅҸ̽s¼g¦h¦æ¡B¥\¯à¤£¦Pªº PHP ±Ôz¡A²Õ¦X¦¨¬°¤@Óµ{¦¡°Ï¶ô¡C¨Ò¦p¡A§ÚÌnÀˬd³y³XªÌªºÂsÄý¾¹¬O§_¬O Internet Explorer¡A§ÚÌ¥i¥H¥Î¡G </para> <para> <example> - <title> ¨Ï¥Î<link linkend="control-structures">±±¨î¬[ºc</link>©M<link linkend="functions">¨ç¼Æ</link>ªº½d¨Ò</title> + <title> ¨Ï¥Î<link linkend="language.control-structures">±±¨î¬[ºc</link>©M<link linkend="language.functions">¨ç¼Æ</link>ªº½d¨Ò</title> <programlisting role="php"> <![CDATA[ <?php -if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { - echo "You are using Internet Explorer<br />"; +if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { + echo 'You are using Internet Explorer.<br />'; } ?> ]]> </programlisting> <para> - ¤Wzµ{¦¡ªº¿é¥X¼Ë¥»¬°¡G + ¤Wz¸}¥»ªº¿é¥X½d¨Ò¬°¡G </para> <screen role="html"> <![CDATA[ -You are using Internet Explorer<br /> +You are using Internet Explorer.<br /> ]]> </screen> </example> </para> <para> - ¦b¦¹¡A§Ṳ́¶²Ð¤F¤@Ó·sªº·§©À¡A¨Ï¥Î¤F <link linkend="control-structures.if">if</link> ±Ôz¡C¦pªG±z¼ô±x C ªº»yªk¡A¨º»ò±z´N¤£·|¹ï¥¦·P¨ì¯¥Í¤F¡CY±z¹ï C »y¨¥©Î¥ô¦ó¨ä¥Lµ{¦¡»y¨¥¨S¦³¥ô¦ó»{ÃѪº¸Ü¡A©Î³\±zÀ³¸Ó¥ý°Ñ¦Ò¤@¨Ç PHP ¤Jªù®ÑÄy©Î¾\Ū¦¹¤â¥Uªº<link linkend="langref">»yªk°Ñ¦Ò</link>¤@¸`¡C<ulink url="&url.php.books;">¦b¦¹</ulink>¦³¤@¨Ç PHP ®ÑÄyªº²M³æ¨Ñ±z°Ñ¦Ò¡C + ¦b¦¹¡A§Ṳ́¶²Ð¤F¤@Ó·sªº·§©À¡A¨Ï¥Î¤F <link linkend="control-structures.if">if</link> ±Ôz¡C¦pªG±z¼ô±x C ªº°ò¥»»yªk¡A¨º»ò±z´N¤£·|¹ï¥¦·P¨ì¯¥Í¤F¡CY±z¹ï C »y¨¥©Î¥ô¦ó¨ä¥Lµ{¦¡»y¨¥¨S¦³¥ô¦ó»{ÃѪº¸Ü¡A©Î³\±zÀ³¸Ó¥ý°Ñ¦Ò¤@¨Ç PHP ¤Jªù®ÑÄy©Î¾\Ū¦¹¤â¥Uªº<link linkend="langref">»yªk°Ñ¦Ò</link>¤@¸`¡C </para> <para> - ¤Wz¨Ò¤l¤¶²Ð¤F¥t¤@Ó·sªº·§©À¡G<function>strstr</function> ¨ç¼Æªº¨Ï¥Î¡C<function>strstr</function> ¬O PHP ´£¨Ñªº¨ä¤¤¤@Ó¨ç¼Æ¡A¦Ó¥¦ªº¥\¯à¬O¦b¤@Ó¦r¦ê¤¤§ä´M¥t¤@Ó¦r¦ê¡C¦p¡A§ÚÌn¦b <varname>$_SERVER["HTTP_USER_AGENT"]</varname> ¤¤´M§ä <literal>"MSIE"</literal> ³o¤@¦r¦ê¡C¦pªG§ä¨ì¸Ó¦r¦ê¡A¦¹¨ç¼Æ¶Ç¦^ &true;¡A§_«h´N¶Ç¦^ &false;¡C¦pªG¥¦¶Ç¦^ &true;¡A¨º»ò <link linkend="control-structures.if">if</link> ±Ôzªºµû¦ôȱN¬O &true;¡AµM«á { ¤j¬A¸¹ } ¸Ìªºµ{¦¡½X¤]´N³Q°õ¦æ¤F¡C¬Û¤Ïªº¡AY if ªºµû¦ôȬO &false;¡A¨º if ±Ôz´N³Q¸õ¹L¤F¡C½ÐÀ|¸Õ¨Ï¥Î if¡A<link linkend="control-structures.else">else</link>¡A©Î¨ä¥L¨ç¼Æ¦p <function>strtoupper</function> ¤Î <function>strlen</function> ¨Ó«Ø¥ßÃþ¦üªºµ{¦¡¡C¦pªG±z¤£ª¾¦p¦ó¨Ï¥Î¬Y¨ç¼Æ¡A½Ð°Ñ¾\¨ä¤â¥U¡C¨C¤@Ó¨ç¼Æªº¤â¥U³£¦³½d¨Ò©M»¡©ú¡C¦¹¥~¡APHP ¤â¥U¤¤ªº<link linkend="about.prototypes">¦p¦ó¾\Ū¨ç¼Æ©w¸q</link>©M <link linkend="functions">PHP ¨ç¼Æ</link>¤]¦³§U©ó¹ï PHP »yªkªº¤F¸Ñ¡C + §Ṳ́¶²Ðªº²Ä¤GÓ·§©À¡G<function>strpos</function> ¨ç¼Æªº¨Ï¥Î¡C<function>strpos</function> ¬O PHP ´£¨Ñªº¨ä¤¤¤@Ó¨ç¼Æ¡A¦Ó¥¦ªº¥\¯à¬O¦b¤@Ó¦r¦ê¤¤§ä´M¥t¤@Ó¦r¦ê¡C¦p¡A§ÚÌn¦b <varname>$_SERVER["HTTP_USER_AGENT"]</varname> ¡]ºÙ¬° haystack¡^¤¤´M§ä <literal>"MSIE"</literal> ¡]ºÙ¬° needle¡^³o¤@¦r¦ê¡C¦pªG§ä¨ì¸Ó¦r¦ê¡A¦¹¨ç¼Æ¶Ç¦^±q haystack ¶}©lºâ°_ needle ªº¬Û¹ï¦ì¸m¡A§_«h´N¶Ç¦^ &false;¡C¦pªG¤£¬O¶Ç¦^ &false;¡A¨º»ò <link linkend="control-structures.if">if</link> ±Ôzªºµû¦ôȱN¬O &true;¡AµM«á { ¤j¬A¸¹ } ¸Ìªºµ{¦¡½X¤]´N³Q°õ¦æ¤F¡C¬Û¤Ïªº¡AY if ªºµû¦ôȬO &false;¡A¨º if ±Ôz´N³Q¸õ¹L¤F¡C½Ð¹Á¸Õ¨Ï¥Î <link linkend="control-structures.if">if</link>¡A<link linkend="control-structures.else">else</link>¡A©Î¨ä¥L¨ç¼Æ¦p <function>strtoupper</function> ¤Î <function>strlen</function> ¨Ó«Ø¥ßÃþ¦üªºµ{¦¡¡C¦pªG±z¤£ª¾¦p¦ó¨Ï¥Î¬Y¨ç¼Æ¡A½Ð°Ñ¾\¨ä¤â¥U¡C¨C¤@Ó¨ç¼Æªº¤â¥U³£¦³½d¨Ò©M»¡©ú¡C¦¹¥~¡APHP ¤â¥U¤¤ªº<link linkend="about.prototypes">¦p¦ó¾\Ū¨ç¼Æ©w¸q</link>©M <link linkend="language.functions">PHP ¨ç¼Æ</link>¤]¦³! §U©ó¹ï PHP »yªkªº¤F¸Ñ¡C </para> <para> ±µ¤U¨Ó§Ú̱N¥Ü½d¦p¦ó¦b PHP µ{¦¡°Ï¶ô¤¤¶i¤J©M¸õÂ÷ PHP ¼Ò¦¡¡C @@ -188,15 +193,15 @@ <programlisting role="php"> <![CDATA[ <?php -if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) { +if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { ?> -<h3>strstr must have returned true</h3> -<center><b>You are using Internet Explorer</b></center> +<h3>strpos() must have returned non-false</h3> +<p>You are using Internet Explorer</p> <?php } else { ?> -<h3>strstr must have returned false</h3> -<center><b>You are not using Internet Explorer</b></center> +<h3>strpos() must have returned false</h3> +<p>You are not using Internet Explorer</p> <?php } ?> @@ -207,14 +212,14 @@ </para> <screen role="html"> <![CDATA[ -<h3>strstr must have returned true</h3> -<center><b>You are using Internet Explorer</b></center> +<h3>strpos() must have returned non-false</h3> +<p>You are using Internet Explorer</p> ]]> </screen> </example> </para> <para> - °£¤F¥i¥H¨Ï¥Î echo ±Ôz¿é¥X¦r¦ê¡A§Ṳ́]¥i¥H¸õÂ÷ PHP ¼Ò¦¡¦Óª½±µ¥H HTML ¿é¥X¤å¦r¡C¨Ï¥Î³oºØ¤èªkªº«¤j·N¸q¦b©óµ{¦¡¥»¨ªºÅÞ¿è¨Ã¤£¨ü¨ì¼vÅT¡A¦Óþ¤@Ó HTML °Ï¶ô·|³Q¿é¥XÁÙ¬O¨ú¨M©ó <function>strstr</function> ©Ò¶Ç¦^ªºÈ¬O &true; ÁÙ¬O &false;¡A§Y¦³§_§ä¨ì <literal>MSIE</literal> ³o¤@¦r¦ê¡C + °£¤F¥i¥H¨Ï¥Î echo ±Ôz¿é¥X¦r¦ê¡A§Ṳ́]¥i¥H¸õÂ÷ PHP ¼Ò¦¡¦Óª½±µ¥H HTML ¿é¥X¤å¦r¡C¨Ï¥Î³oºØ¤èªkªº«¤j·N¸q¦b©óµ{¦¡¥»¨ªºÅÞ¿è¨Ã¤£¨ü¨ì¼vÅT¡A¦Óþ¤@Ó HTML °Ï¶ô·|³Q¿é¥XÁÙ¬O¨ú¨M©ó <function>strpos</function> ©Ò¶Ç¦^ªºÈ¡A§Y¦³§_§ä¨ì <literal>MSIE</literal> ³o¤@¦r¦ê¡C </para> </sect1> @@ -228,10 +233,10 @@ <title> ¤@Ó²³æªº HTML ªí³æ</title> <programlisting role="html"> <![CDATA[ -<form action="action.php" method="POST"> - Your name: <input type="text" name="name" /> - Your age: <input type="text" name="age" /> - <input type="submit"> +<form action="action.php" method="post"> + <p>Your name: <input type="text" name="name" /></p> + <p>Your age: <input type="text" name="age" /></p> + <p><input type="submit" /></p> </form> ]]> </programlisting> @@ -245,58 +250,63 @@ <title> ¿é¥Xªí³æªº¤º®e</title> <programlisting role="php"> <![CDATA[ -Hi <?php echo $_POST["name"]; ?>. -You are <?php echo $_POST["age"]; ?> years old. +Hi <?php echo htmlspecialchars($_POST['name']); ?>. +You are <?php echo (int)$_POST['age']; ?> years old. ]]> </programlisting> <para> - ¦¹µ{¦¡ªº¿é¥X¼Ë¥»¬°¡G + ¦¹¸}¥»ªº¿é¥X¼Ë¥»¬°¡G </para> <screen role="html"> <![CDATA[ -Hi Joe. -You are 22 years old. +Hi Joe. You are 22 years old. ]]> </screen> </example> </para> <para> - ¤Wzµ{¦¡ªº§@¥Î¬O¦A©úÅ㤣¹L¤F¡CPHP ¦Û°Êªº¬°±z³]©w¤F <varname>$_POST["name"]</varname> ©M <varname>$_POST["age"]</varname> ¨âÓÅܼơC¤§«e¡A§Ų́ϥιL <varname>$_SERVER</varname> ³oÓ autoglobal¡A¦Ó¤Wz¨Ò¤l«h¬°±z¤¶²Ð¤F§t¦³©Ò¦³ POST ¸ê®Æªº <link linkend="reserved.variables.post">$_POST</link> autoglobal¡C½Ð¯d·N§ÚÌªí³æ©Ò¨Ï¥Îªº<emphasis>¤èªk</emphasis>¡£method¡¤¬O POST¡C¦pªG§ÚÌè¤~¨Ï¥Îªº¬O <emphasis>GET</emphasis>¡A¨º©Ò¦³ªºªí³æ¸ê®Æ±N¦s¦b <link linkend="reserved.variables.get">$_GET</link> ³oÓ autoglobal ¸Ì¤F¡CY±z¤£·Q²z·|ªí³æ¨Ï¥Î¤Fþ¤@ºØ¤èªk¡A¨º±z¥i¥H§ï¬°¨Ï¥Î <link linkend="reserved.variables.request">$_REQUEST</link> ³oÓ autoglobal¡C¥¦¥]§t¤F©Ò¦³ GET¡BPOST¡BCOOKIE ©M FILE ªº¸ê®Æ¡C½Ð°Ñ¦Ò <function>import_request_variables</function> ¨ç¼Æ¡C + °£¤F <function>htmlspecialchars</function> ©M + <literal>(int)</literal>ªº³¡¤À¤§¥~¡AÀ³¸Ó«Ü©ú¥Õ³oÓµ{¦¡°µ¤F¤°»ò¡C<function>htmlspecialchars</function>½T©w html ¤¤¯S®í¦r¤¸³Q½s½X¡A©Ò¥H¨ä¥L¤HµLªk¦b±zªººô¶©ñ¤J HTML ¼ÐÅҩάO Javascript¡CÃö©ó age ¨º¤@Äæ¡A§Ú̪¾¹D¥¦¬O¤@Ó¼ÆÈ¡A©Ò¥H¥i¥H¥Î<link linkend="language.types.typecasting">convert</link>¨Ó¥h°£¥ô¦ó¤£¥¿½Tªº¦r¤¸¡C¤]¥i¥H¨Ï¥Î<link linkend="ref.filter">filter</link>ÂX¥R¥\¯àÅý PHP ¦Û°Ê°µ³o¨Ç¨Æ¡CPHP ¦Û°Êªº¬°±z³]©w¤F <varname>$_POST["name"]</varname> ©M <varname>$_POST["age"]</varname> ¨âÓÅܼơC¤§«e¡A§Ų́ϥιL <varname>$_SERVER</varname> ³oÓ superglobal¡A¦Ó¤Wz¨Ò¤l«h¬°±z¤¶²Ð¤F§t¦³©Ò¦³ POST ¸ê®Æªº <link linkend="reserved.variables.post">$_POST</link> autoglobal¡C½Ð¯d·N§ÚÌªí³æ©Ò¨Ï¥Îªº<emphasis>¤èªk</emphasis>¡]method¡^¬O POST¡C¦pªG§ÚÌè¤~¨Ï¥Îªº¬O <emphasis>GET</emphasis>¡A¨º©Ò¦³ªºªí³æ¸ê®Æ±N¦s¦b <link linkend="reserved.variables.get">$_GET</link> ³oÓ superglobal ¸Ì¤F¡CY±z¤£·Q²z·|ªí³æ¨Ï¥Î¤Fþ¤@ºØ¤èªk¡A¨º±z¥i¥H§ï¬°¨Ï¥Î <link linkend="reserved.variables.request">$_REQUEST</li! nk> ³oÓ autoglobal¡C¥¦¥]§t¤F©Ò¦³ GET¡BPOST¡BCOOKIE ©M FILE ªº¸ê®Æ¡C½Ð°Ñ¦Ò <function>import_request_variables</function> ¨ç¼Æ¡C + </para> + <para> + ¤]¥i¥H¦b PHP ¤¤³B²z XForms ªº¿é¤J¡A¾¨ºÞ¥i¯à§ó³ßÅw¨Ï¥Îªø¤[¥H¨Ó¤ä´©¨}¦nªº + HTML ªí³æ¡CXForms + ¥Ø«eÁÙ¤£¾A¦Xªì¾ÇªÌ¨Ï¥Î¡A¦ý¬O±z¥i¯à¹ï¥¦·P¿³½ì¡C¤â¥U¤¤¦b¡u¯SÂI¡v¦³³¹¸`¹ï¦p¦ó<link + linkend="features.xforms">³B²z±q XForum ±µ¦¬¨ìªº¸ê®Æ</link>¶i¦æ¤F²µuªº¤¶²Ð¡C </para> </sect1> <sect1 id="tutorial.oldcode"> <title>¦b·sª©¥»ªº PHP ¤¤¨Ï¥Îµ{¦¡½X</title> <para> - ÀHµÛ PHP ªº¤é¯q´¶¤Î¡A¦bºô»Úºô¸ô¤W¤w¦³³\¦hµ{¦¡½X¥i¨Ñ¤U¸ü¨Ï¥Î©ó±zªºµ{¦¡¤¤¡CPHP ªº¶}µo¤Hû¤wºÉ¶q¨Ï±o·sª©¥»ªº PHP ¯à¦^·¹¬Û®e¡£backward compatible¡¤¡A©Ò¥H¤@¯ë¤W¦b·sª©¥»ªº PHP ¤¤¹B¦æÂª©¤U¶}µoªº PHP µ{¦¡¬O¤£·|¦³°ÝÃDªº¡C¦ý¨Æ¹ê¤W¬Y¨Ç§ó§ïÁÙ¬O»Ýnªº¡C + ÀHµÛ PHP ªº¤é¯q´¶¤Î¡A¦bºô»Úºô¸ô¤W¤w¦³³\¦hµ{¦¡½X¥i¨Ñ¤U¸ü¨Ï¥Î©ó±zªºµ{¦¡¤¤¡CPHP ªº¶}µo¤Hû¤wºÉ¶q¨Ï±o·sª©¥»ªº PHP ¯à¦^·¹¬Û®e¡]backward compatible¡^¡A©Ò¥H¤@¯ë¤W¦b·sª©¥»ªº PHP ¤¤¹B¦æÂª©¤U¶}µoªº PHP µ{¦¡¬O¤£·|¦³°ÝÃDªº¡C¦ý¨Æ¹ê¤W¬Y¨Ç§ó§ïÁÙ¬O»Ýnªº¡C </para> <para> ªñ´Á¨âÓ¼vÅTµ{¦¡½X³Ì¤jªº§ó§ï¬O¡G <itemizedlist> <listitem> <simpara> - <varname>$HTTP_*_VARS</varname> ¦¡ªº³¯¦C³Q¨ú¥N¡£¥H©¹¦b¨ç¼Æ©Î¤èªk¤¤¨Ï¥Î¥¦®É¥²¶·«ü©ú¥¦¬°¥þ°ì¡¤¡C¤U¦C·sªº <link linkend="language.variables.superglobals">autoglobal ³¯¦C</link>¦b PHP <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ª©¶}©l±À¥X¡G<varname>$_GET</varname>¡B<varname>$_POST</varname>¡B<varname>$_COOKIE</varname>¡B<varname>$_SERVER</varname>¡B<varname>$_ENV</varname>¡B<varname>$_REQUEST</varname> ©M <varname>$_SESSION</varname>¡C<varname>$HTTP_*_VARS</varname> ¦¡ªº³¯¦C¦p <varname>$HTTP_POST_VARS</varname> ¦Û PHP 3 ¶}©l´N¤w¦s¦b¡A²{®É¤´µM¥i¥H¨Ï¥Î¡C - + <varname>$HTTP_*_VARS</varname> ¦¡ªº³¯¦C³Q¨ú¥N¡]¥H©¹¦b¨ç¼Æ©Î¤èªk¤¤¨Ï¥Î¥¦®É¥²¶·«ü©ú¥¦¬°¥þ°ì¡^¡C¤U¦C·sªº <link linkend="language.variables.superglobals">superglobal ³¯¦C</link>¦b PHP <ulink url="&url.php.release4.1.0;">4.1.0</ulink> ª©¶}©l±À¥X¡G<varname>$_GET</varname>¡B<varname>$_POST</varname>¡B<varname>$_COOKIE</varname>¡B<varname>$_SERVER</varname>¡B<varname>$_FILES</varname>¡B<varname>$_ENV</varname>¡B<varname>$_REQUEST</varname> ©M <varname>$_SESSION</varname>¡C¦³ªº<varname>$HTTP_*_VARS</varname> ¦¡ªº°}¦C¦p <varname>$HTTP_POST_VARS</varname> ¦Û PHP 3 ¶}©l´N¤w¦s¦b¡A²{®É¤´µM¥i¥H¨Ï¥Î¡C &avail.register-long-arrays; </simpara> </listitem> <listitem> <simpara> - ¨Ó¦Û¥~³¡ªºÅܼƤw¤£·|¦b¥þ°ì½d³ò¸Ì¦Û°Ê¬°±zµù¥U¡C¦Û PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink> °_¡A&php.ini; ¤¤ªº <link linkend="ini.register-globals">register globals</link> «ü¥O¤w¹w³]¬° <emphasis>off</emphasis>¡C¦s¨ú³o¨ÇÅܼÆÈªº«ØÄ³¤èªk¬O³z¹L¤W±¤¶²Ð¹Lªº autoglobal ³¯¦C¡Cªºµ{¦¡¡B®ÑÄy©Î±Ð¾Ç¤å³¹¥i¯à¨Ì¿à¦¹«ü¥O³]¦¨ on ¤~¯à¥¿±`¾Þ§@¡C·í³]¦¨ on ®É¡A<literal>http://www.example.com/foo.php?id=42</literal> ³o¤@ URL ¤¤ id ªºÈ¥iª½±µ¥H <varname>$id</varname> Åܼƨú±o¡CµL½×¬O on »P§_¡A±z³£¥i¥H¨Ï¥Î <varname>$_GET['id']</varname>¡A¦Ó¥B¬O³Q«ØÄ³ªº°µªk¡C +¨Ó¦Û¥~³¡ªºÅܼƤw¤£·|¦b¥þ°ì½d³ò¸Ì¦Û°Ê¬°±zµù¥U¡C¦Û PHP <ulink url="&url.php.release4.2.0;">4.2.0</ulink> °_¡A&php.ini; ¤¤ªº <link linkend="ini.register-globals">register_globals</link> «ü¥O¤w¹w³]¬° <emphasis>off</emphasis>¡C¦s¨ú³o¨ÇÅܼÆÈªº«ØÄ³¤èªk¬O³z¹L¤W±¤¶²Ð¹Lªº superglobal °}¦C¡Cªºµ{¦¡¡B®ÑÄy©Î±Ð¾Ç¤å³¹¥i¯à¨Ì¿à¦¹«ü¥O³]¦¨ on ¤~¯à¥¿±`¾Þ§@¡C·í³]¦¨ on ®É¡A<literal>http://www.example.com/foo.php?id=42</literal> ³o¤@ URL ¤¤ id ªºÈ¥iª½±µ¥H <varname>$id</varname> Åܼƨú±o¡CµL½×¬O on »P§_¡A±z³£¥i¥H¨Ï¥Î <varname>$_GET['id']</varname>¡A¦Ó¥B¬O³Q«ØÄ³ªº°µªk¡C </simpara> </listitem> </itemizedlist> - Ãö©ó³o¨Ç§ó§ïªº¸Ô²Ó¸ê®Æ¡A½Ð¾\Ū<link linkend="language.variables.predefined">¹w¥ý©w¸qÅܼÆ</link>¤@¸`©M¨º¨àªº³sµ²¡C + Ãö©ó³o¨Ç§ó§ïªº¸Ô²Ó¸ê®Æ¡A½Ð¾\Ū<link linkend="language.variables.predefined">¹w³]ÅܼÆ</link>¤@¸`©M¨º¸Ìªº³sµ²¡C </para> </sect1> <sect1 id="tutorial.whatsnext"> - <title>¤U¤@¨B</title> + <title>¤U¤@¨B¡H</title> <para> - ±z²{¦bÀ³¦³¨¬°÷ªºª¾ÃÑ¥h²z¸Ñ¤â¥U¤¤¤j³¡¥÷ªº¤º®e©M©Ò´£¤Îªº½d¨Ò¡C§ó¦hªº½d¨Ò¥i¦b php.net ªº<ulink url="&url.php.links;">ºô¯¸³s±µ°Ï</ulink>§ä¨ì¡C +±z²{¦bÀ³¦³¨¬°÷ªºª¾ÃÑ¥h²z¸Ñ¤â¥U¤¤¤j³¡¥÷ªº¤º®e©M©Ò´£¤Îªº½d¨Ò¡C§ó¦hªº½d¨Ò¥i¦b php.net ªººô¯¸³s±µ°Ï<ulink url="&url.php.links;">&url.php.links;</ulink>§ä¨ì¡C </para> <para> - ¦¹¥~¡APHP Conference Material Sites¡£<ulink url="&url.php.conf;">&url.php.conf;</ulink> ©M <ulink url="&url.php.talks;">&url.php.talks;</ulink>¡¤¤]¦³§ó¦h¤¶²Ð PHP ªº¬ã°Q·|¤Û¿O¤ù¨Ñ±zÂsÄý¡C + ¦¹¥~¡APHP Conference Material Sites¡£<ulink url="&url.php.conf;">&url.php.conf;</ulink> ©M <ulink url="&url.php.talks;">&url.php.talks;</ulink>¡¤¤]¦³§ó¦h¤¶²Ð PHP ªº¬ã°Q·|¤Û¿O¤ù¨Ñ±zÂsÄý¡A¥i¥H¬Ý¨ì§ó¦h PHP ¥i¥H°µ¤°»ò¡C </para> </sect1> </chapter>