PageRenderTime 51ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/xml/chapters/tutorial.xml

http://phpdoc-zh.googlecode.com/
XML | 475 lines | 438 code | 13 blank | 24 comment | 0 complexity | 17e5ca899c0713784d506229e9078b16 MD5 | raw file
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- $Revision: 324974 $ -->
  3. <!-- EN-Revision: 324522 Maintainer: HonestQiao Status: ready -->
  4. <!-- Reviewed: no Maintainer: HonestQiao -->
  5. <!-- CREDITS: gregory -->
  6. <chapter xml:id="tutorial" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
  7. <title>????</title>
  8. <para>
  9. ??????? PHP ???????? PHP ????????????? web
  10. ??????????????????<link linkend="intro-whatcando">PHP
  11. ????</link>??????????
  12. </para>
  13. <para>
  14. ??? PHP ? web ???????? HTML ?????????????? HTML
  15. ??????????????
  16. </para>
  17. <sect1 xml:id="tutorial.requirements">
  18. <title>??????</title>
  19. <para>
  20. ?????????????????????? PHP????
  21. <filename>.php</filename> ???????? PHP ????????????????
  22. PHP ???????????????????????????????
  23. PHP??????????????? <filename>.php</filename>
  24. ?????????? web
  25. ????????????????????????????????????????????????????
  26. PHP ????????? HTML
  27. ????????????????????????????????????
  28. web ????? PHP ?????????????????? <link
  29. xlink:href="&url.php.links;">PHP ????</link>????? PHP ? web ???
  30. </para>
  31. <para>
  32. ?????????????????????????????????????
  33. <link xlink:href="&url.apache;">Apache</link> ? web ????????
  34. <link xlink:href="&url.php.downloads;">PHP</link>????????????????
  35. <link xlink:href="&url.mysql.docs;">MySQL</link>?
  36. </para>
  37. <para>
  38. ??????????????????????????????
  39. <link linkend="install">PHP ????</link>????????????????
  40. web ??????????? PHP
  41. ??????????<link
  42. xlink:href="&url.php.mailing-lists;">??????</link>?????????????????
  43. PHP???????<link xlink:href="&url.installkits;">????????????</link>???????????????????????????????????????????
  44. PHP ??? web ??????????? MacOSX?Linux ? Windiws?? Linux
  45. ????? <link xlink:href="&url.rpmfind;">rpmfind</link> ?
  46. <link xlink:href="&url.rpmfind.pbone;">PBone</link> ????? RPM
  47. ??????????? <link xlink:href="&url.apt-get;">apt-get</link>
  48. ?? Debian ???????
  49. </para>
  50. </sect1>
  51. <sect1 xml:id="tutorial.firstpage">
  52. <title>??? PHP ??</title>
  53. <para>
  54. ? web ???????<varname>DOCUMENT_ROOT</varname>??????????
  55. <filename>hello.php</filename>??????????
  56. </para>
  57. <para>
  58. <example>
  59. <title>??? PHP ???<filename>hello.php</filename></title>
  60. <programlisting role="php">
  61. <![CDATA[
  62. <html>
  63. <head>
  64. <title>PHP ??</title>
  65. </head>
  66. <body>
  67. <?php echo '<p>Hello World</p>'; ?>
  68. </body>
  69. </html>
  70. ]]>
  71. </programlisting>
  72. <simpara>
  73. ??????????? web ???? URL
  74. ????????????/hello.php????????????
  75. URL ??? <literal>http://localhost/hello.php</literal> ??
  76. <literal>http://127.0.0.1/hello.php</literal>???????
  77. web ??????????????????????????
  78. PHP ????????????????
  79. </simpara>
  80. <screen role="html">
  81. <![CDATA[
  82. <html>
  83. <head>
  84. <title>PHP ??</title>
  85. </head>
  86. <body>
  87. <p>Hello World</p>
  88. </body>
  89. </html>
  90. ]]>
  91. </screen>
  92. </example>
  93. </para>
  94. <para>
  95. ????????????????? PHP ? <function>echo</function> ?????
  96. <literal>Hello World</literal>??????????????????<emphasis>?????</emphasis>??????????????????????
  97. PHP ??????????.php???????????????????.php???????
  98. PHP?????? HTML ????????????????????????????
  99. </para>
  100. <para>
  101. ????????????????????????????????????????????????????????????????
  102. PHP?????????????????????????<link linkend="install">??</link>????????????
  103. PHP????????????????????????????????????????????
  104. URL ?????????????????????????????????????
  105. PHP ??????????????? <link xlink:href="&url.php.support;">PHP
  106. ????</link>???????????
  107. </para>
  108. <para>
  109. ???????????? PHP ?????????????????
  110. <literal>&lt;?php</literal> ??? PHP ???????????
  111. PHP ?????????????? <literal>?&gt;</literal> ???
  112. PHP ????????????? HTML ???????????
  113. PHP ?????????<link linkend="language.basic-syntax">PHP ????</link>????????
  114. </para>
  115. <note>
  116. <title>????</title>
  117. <para>
  118. ????? HTML ?????????????????????? HTML
  119. ????????PHP ????????????? <literal>?&gt;</literal>
  120. ????????????????????????? PHP
  121. ?????????????? PHP ??????????????????????
  122. PHP ??? <literal>?&gt;</literal> ???????????????????????????
  123. echo/print ??????????
  124. </para>
  125. </note>
  126. <note>
  127. <title>???????</title>
  128. <para>
  129. ?????????????????IDE??????????????
  130. PHP ??????????????? <link
  131. xlink:href="&url.phpeditorlist;">PHP ?????</link>??????????????????????????????????????????????????????????????????????????
  132. </para>
  133. </note>
  134. <note>
  135. <title>???????</title>
  136. <para>
  137. ?? StarOffice Writer?Microsoft Word ? Abiword
  138. ????????????? PHP
  139. ??????????????????????????????????<emphasis>???</emphasis>?????
  140. PHP ?????????????
  141. </para>
  142. </note>
  143. <note>
  144. <title>?? Windows ???</title>
  145. <para>
  146. ???? Windows ?????? PHP
  147. ???????????????????????
  148. .php??????????????? .txt
  149. ????????????????????????????????????????????????????????? <filename>"hello.php"</filename>????????????????????????????????????????????????????????
  150. </para>
  151. </note>
  152. <para>
  153. ?????????????? PHP ??????????????
  154. PHP ??????? <function>phpinfo</function>?????????????????????<link
  155. linkend="language.variables.predefined">?????</link>??????
  156. PHP ???<link linkend="configuration">??</link>????????????????????
  157. </para>
  158. <para>
  159. <example>
  160. <title>? PHP ??????</title>
  161. <programlisting role="php">
  162. <![CDATA[
  163. <?php phpinfo(); ?>
  164. ]]>
  165. </programlisting>
  166. </example>
  167. </para>
  168. </sect1>
  169. <sect1 xml:id="tutorial.useful">
  170. <title>?????</title>
  171. <para>
  172. ?????????????????????????????????????????????????
  173. agent ???????????? HTTP ????????????????<link
  174. linkend="language.variables">??</link>??? PHP
  175. ??????????????????????????
  176. <varname>$_SERVER['HTTP_USER_AGENT']</varname>?
  177. </para>
  178. <note>
  179. <para>
  180. <link linkend="reserved.variables.server">$_SERVER</link>
  181. ?????? PHP ????????? web
  182. ??????????????????????????<link
  183. linkend="language.variables.superglobals">?????</link>???????????????????????
  184. PHP <link xlink:href="&url.php.release4.1.0;">4.1.0</link> ????????????
  185. <varname>$HTTP_*_VARS</varname> ????
  186. <varname>$HTTP_SERVER_VARS</varname>??????????????????????????<link
  187. linkend="tutorial.oldcode">???</link>????????
  188. </para>
  189. </note>
  190. <para>
  191. ???????????????????
  192. </para>
  193. <para>
  194. <example>
  195. <title>????????????</title>
  196. <programlisting role="php">
  197. <![CDATA[
  198. <?php
  199. echo $_SERVER['HTTP_USER_AGENT'];
  200. ?>
  201. ]]>
  202. </programlisting>
  203. <para>
  204. ??????????
  205. </para>
  206. <screen role="html">
  207. Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
  208. </screen>
  209. </example>
  210. </para>
  211. <para>
  212. PHP ??????<link
  213. linkend="language.types">??</link>?????????????????<link
  214. linkend="language.types.array">??</link>?????????????????
  215. </para>
  216. <para>
  217. <varname>$_SERVER</varname> ?? PHP ???????????????<link
  218. linkend="reserved.variables">????</link>?????????????????????????
  219. <function>phpinfo</function> ?????????
  220. </para>
  221. <para>
  222. ????? PHP ??????? PHP ???????????????????
  223. echo ??????????????? Internet Explorer??????????
  224. </para>
  225. <para>
  226. <example>
  227. <title><link linkend="language.control-structures">????</link>?<link linkend="language.functions">??</link>???</title>
  228. <programlisting role="php">
  229. <![CDATA[
  230. <?php
  231. if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
  232. echo '???? Internet Explorer?<br />';
  233. }
  234. ?>
  235. ]]>
  236. </programlisting>
  237. <para>
  238. ??????????
  239. </para>
  240. <screen role="html">
  241. <![CDATA[
  242. ???? Internet Explorer?<br />
  243. ]]>
  244. </screen>
  245. </example>
  246. </para>
  247. <para>
  248. ??????????????????
  249. <link linkend="control-structures.if">if</link> ????????
  250. C ??????????????????????????????????
  251. PHP ?????????????????????????????<link
  252. linkend="langref">????</link>???
  253. </para>
  254. <para>
  255. ????????????? <function>strpos</function>
  256. ??????<function>strpos</function> ? PHP
  257. ??????????????????????????????????????
  258. <varname>$_SERVER['HTTP_USER_AGENT']</varname>????? haystack??????
  259. <literal>'MSIE'</literal>?????? haystack
  260. ?????????? needle?????????? needle
  261. ? haystack ????????????????? &false;??????????
  262. &false;?? <link linkend="control-structures.if">if</link> ???????
  263. &true; ??????? {} ?????????????????????????
  264. <link linkend="control-structures.if">if</link>?<link
  265. linkend="control-structures.else">else</link> ??????????
  266. <function>strtoupper</function> ?
  267. <function>strlen</function>???????????????????????????????????????????????????<link
  268. linkend="about.prototypes">????????</link>?<link
  269. linkend="language.functions">??</link>??????
  270. </para>
  271. <para>
  272. ????????????? PHP ????????? PHP ???????
  273. </para>
  274. <para>
  275. <example>
  276. <title>?? HTML ? PHP ??</title>
  277. <programlisting role="php">
  278. <![CDATA[
  279. <?php
  280. if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
  281. ?>
  282. <h3>strpos() ??????? (FALSE)</h3>
  283. <p>???? Internet Explorer</p>
  284. <?php
  285. } else {
  286. ?>
  287. <h3>strpos() ????? (FALSE)</h3>
  288. <center><b>???? Internet Explorer</b></center>
  289. <?php
  290. }
  291. ?>
  292. ]]>
  293. </programlisting>
  294. <para>
  295. ??????????
  296. </para>
  297. <screen role="html">
  298. <![CDATA[
  299. <h3>strpos() ??????? (FALSE)</h3>
  300. <p>???? Internet Explorer</p>
  301. ]]>
  302. </screen>
  303. </example>
  304. </para>
  305. <para>
  306. ???????? PHP ? echo ???????????????
  307. PHP ?????? HTML
  308. ?????????????????????????????????????????
  309. <function>strpos</function> ??????? &true; ??
  310. &false;?????????? <literal>'MSIE'</literal>
  311. ?????????????? HTML ?????????
  312. </para>
  313. </sect1>
  314. <sect1 xml:id="tutorial.forms">
  315. <title>????</title>
  316. <para>
  317. PHP ?????????????? PHP
  318. ?????????????????????????????
  319. PHP ???????????????<link
  320. linkend="language.variables.external">PHP ?????</link>??????
  321. PHP ????????????????? HTML ??????
  322. </para>
  323. <para>
  324. <example>
  325. <title>????? HTML ??</title>
  326. <programlisting role="html">
  327. <![CDATA[
  328. <form action="action.php" method="post">
  329. <p>??: <input type="text" name="name" /></p>
  330. <p>??: <input type="text" name="age" /></p>
  331. <p><input type="submit" /></p>
  332. </form>
  333. ]]>
  334. </programlisting>
  335. </example>
  336. </para>
  337. <para>
  338. ??????????????????????????????????????????????????
  339. <filename>action.php</filename> ????????????????????
  340. </para>
  341. <para>
  342. <example>
  343. <title>?????????</title>
  344. <programlisting role="php">
  345. <![CDATA[
  346. ???<?php echo htmlspecialchars($_POST['name']); ?>?
  347. ? <?php echo (int)$_POST['age']; ?> ???
  348. ]]>
  349. </programlisting>
  350. <para>
  351. ??????????
  352. </para>
  353. <screen role="html">
  354. <![CDATA[
  355. ???Joe?? 22 ???
  356. ]]>
  357. </screen>
  358. </example>
  359. </para>
  360. <para>
  361. ??<function>htmlspecialchars</function> ?
  362. <literal>(int)</literal> ?????????????
  363. <function>htmlspecialchars</function> ?? HTML ??????????????????????????? HTML ???? Javascript????? age ??????????????????????<link
  364. linkend="language.types.typecasting">??</link>
  365. ??? <type>???(integer)</type> ?????????????????????PHP? <link linkend="ref.filter">??(filter)</link> ???????????
  366. PHP
  367. ????? <varname>$_POST['name']</varname> ?
  368. <varname>$_POST['age']</varname> ?????????????????
  369. <varname>$_SERVER</varname>?????????????
  370. <link linkend="reserved.variables.post">$_POST</link>????????
  371. POST ????????????????<emphasis>??</emphasis>?method???????
  372. <emphasis>GET</emphasis> ?????????????????????
  373. <link linkend="reserved.variables.get">$_GET</link>
  374. ?????????????????????????
  375. <link linkend="reserved.variables.request">$_REQUEST</link>???????
  376. GET?POST?COOKIE ? FILE ???????
  377. <function>import_request_variables</function> ???
  378. </para>
  379. <para>
  380. ???? PHP ??? XForms ??????????????????????
  381. HTML ???XForms
  382. ??????????????????????????????????????<link
  383. linkend="features.xforms">??? XForum ??????</link>?????????
  384. </para>
  385. </sect1>
  386. <sect1 xml:id="tutorial.oldcode">
  387. <title>????? PHP ????? PHP ??</title>
  388. <para>
  389. ???PHP ??????????????????????????????????????????????PHP
  390. ??????????????????????????
  391. PHP ????????????????????????????????????????????????????
  392. </para>
  393. <para>
  394. ?????????????????????????
  395. <itemizedlist>
  396. <listitem>
  397. <simpara>
  398. ????? <varname>$HTTP_*_VARS</varname>
  399. ????????????????????PHP
  400. <link xlink:href="&url.php.release4.1.0;">4.1.0</link>
  401. ???????<link
  402. linkend="language.variables.superglobals">???????</link>?<varname>$_GET</varname>?<varname>$_POST</varname>?<varname>$_COOKIE</varname>?<varname>$_SERVER</varname>?<varname>$_FILE</varname>?<varname>$_ENV</varname>?<varname>$_REQUEST</varname>
  403. ?? <varname>$_SESSION</varname>??? <varname>$HTTP_*_VARS</varname>
  404. ????? $HTTP_POST_VARS ??? PHP 3 ???????????????&avail.register-long-arrays;
  405. </simpara>
  406. </listitem>
  407. <listitem>
  408. <simpara>
  409. ???????????????????????
  410. PHP <link xlink:href="&url.php.release4.2.0;">4.2.0</link>
  411. ????&php.ini; ??????
  412. <link linkend="ini.register-globals">register_globals</link>
  413. ??????
  414. <emphasis>off</emphasis>???????????????????????????????????????????????
  415. on ??????????????
  416. on?????
  417. URL <literal>http://www.example.com/foo.php?id=42</literal>
  418. ??????? <varname>$id</varname>???????? on ??
  419. off?<varname>$_GET['id']</varname> ?????
  420. </simpara>
  421. </listitem>
  422. </itemizedlist>
  423. </para>
  424. <para>
  425. ???????????????????<link
  426. linkend="language.variables.predefined">?????</link>??????????
  427. </para>
  428. </sect1>
  429. <sect1 xml:id="tutorial.whatsnext">
  430. <title>???????</title>
  431. <para>
  432. ????????????????????????????????????????
  433. php.net ??????
  434. <link xlink:href="&url.php.links;">&url.php.links;</link> ????????????
  435. </para>
  436. <para>
  437. ??? PHP Conference ????
  438. <link xlink:href="&url.php.talks;">&url.php.talks;</link>
  439. ??????????????????? PHP ??????
  440. </para>
  441. </sect1>
  442. </chapter>
  443. <!-- Keep this comment at the end of the file
  444. Local variables:
  445. mode: sgml
  446. sgml-omittag:t
  447. sgml-shorttag:t
  448. sgml-minimize-attributes:nil
  449. sgml-always-quote-attributes:t
  450. sgml-indent-step:1
  451. sgml-indent-data:t
  452. indent-tabs-mode:nil
  453. sgml-parent-document:nil
  454. sgml-default-dtd-file:"~/.phpdoc/manual.ced"
  455. sgml-exposed-tags:nil
  456. sgml-local-catalogs:nil
  457. sgml-local-ecat-files:nil
  458. End:
  459. vim600: syn=xml fen fdm=syntax fdl=2 si
  460. vim: et tw=78 syn=sgml
  461. vi: ts=1 sw=1
  462. -->