|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^web 作为构建静态网页的一种言语,PHP供应了一种简化的办法来机关庞杂而功效壮大的 与 Web 相干的法式。Erik用一个原始的、实际世界的网站示例慢慢申明了 PHP 的根基道理。本系列文章分为两局部,第 1 局部引见了 PHP的根基概念,并剖析了一个使用法式示例,Webzine。Webzine 包含内容供应者可输出文章文本的一个编纂页,和用来将该内容展现给全球的一个前端。
假如您是初度接触PHP,您能够会欣喜地发明在理论中它是何等易于利用。本文旨在使您对 PHP的任务体例留下一个好的印象; 随后您就能够肯定它是不是合适您。
1.有关PHP的经历
本系列文章分为两局部,第1局部申明这个使用法式是若何任务的(不包括在您的体系上装置PHP)。您将无机会试用主索引页,并窥视一下局部组件在幕后是若何任务的。假如这是您独一的动力,则请必定要检查下一篇,在那一局部将深切切磋有关主索引页的其他内容。(第 2局部还将用几个法式示例会商编纂组件。您可以下载源代码并将您本人的设法付诸实行。)
假如您懂得 HTML 并熟习任何一品种似 C 言语的言语(特别是Perl),则您了解上面的示例应当不成成绩。 即便您没有太多利用过相似C的言语,您依然可以了解这些示例。但您的确需求懂得 HTML的根基常识。
这个 PHP 使用法式样例是一个生成浏览器的Webzine,它带有一个复杂的发送模块(代码不超越3K)。该模块显示一个主题列表。
在每一个主题题目下是一系列按逆工夫按次分列的文章摘要。用户经由过程单击题目就能够看到整篇文章。还有一个稍庞杂一点的编纂模块,它答应任何读者成为作者并提交他/她本人的内容。作者必需选择一个种别,并输出文章的题目、复杂的摘要和故事的全文。假如情愿,您可以输出一个图象文件的URL 并单击“预览”按钮来查验是不是一切已停当。作者的输出要经由验证--乃至要经由平安反省,这类平安反省将把除多数平安的标志之外的一切标志转换为非举动格局,从而避免风险或歹意的HTML 编码被履行。例如,字符串 将变成。这类转换实践上使标志有效。
2.一项公用的 PHP 手艺
在研讨Webzine的实践代码之前,让咱们起首思索一个复杂的示例,这个示例很好地申明了PHP 的特点。PHP的语法答应您恣意将HTML语句与PHP语句夹杂在一同。这意味着HTML语句可以呈现在轮回、if/else语句、函数等高低文中。我在Webzine法式中使用了这一特征,但上面的代码样例用一种更复杂的办法使它变得更简约。
假定咱们有两个数组,$names和$days,它们包括一年中各个月的信息,因而$days[0]= 31和$names[0]="January",$days[1]等于28和$names[1]等于"February",等等。上面这项手艺用来创立包括天数和月名的一个表:
清单 1:创立包括天数和月名的一个表
<table border=2>
<tr><th>Name</th><th>Days</th></tr>
<?php
for($i=0; $i<12; $i++) { // 轮回入手下手。
?>
<tr><td><?php echo($names[$i]) ?></td>
<td><?php echo($days[$i]) ?></td></tr>
<?php
} // 轮回停止。
?>
</table>
为明白起见,下面的PHP语句用白色显示;HTML语句用黑色显示。请注重,公用标志 从HTML切换到 PHP,而 ?> 切换回 HTML。
要注重的一点是:您可以切换到 PHP,入手下手一个for轮回(或 if/else,或switch,或其他语句),然前进回到HTML,如今您正在输出的 HTML号令将成为轮回布局的一局部,所以它们随轮回一同反复。您可以依据需求(例如,如我在下面所做的那样,收回echo 语句以将变量输入到网页中)进入或加入 PHP 形式。然后,当您退回PHP 并输出一个停止花括号时,正如您所料,轮回停止。
实践表的外不雅以下所示:
Name Days
January 31
February 28
March 31
April 30
May 31
June 30
July 31
August 31
September 30
October 31
November 30
December 31
假如这类行动使人利诱,则可以如许来思索它:PHP注释器将用echo 语句交换HTML形式中的每行,以将该行送入输入流中。假如 echo语句呈现在 if/else 布局中,则它将是有前提履行的。假如它呈现在一个轮回布局中(如上所示),则它将反复履行。
3.使用法式概述
Webzine驱动法式,index.php3,有三个次要的组件:主题菜单、故事列表和完全的故事暗示。假如读者选定的主题没有任何以事,也会显示一些缺省的文本。编纂页更庞杂。它包括一个表单、一个反应动静和一个确认动静,表单用来承受用户的输出,反应动静来告诉作者需求改正的成绩,确认动静用来向作者显示他们所提交的内容。它还晓得若何验证所提交的故事,停止需要的更改以确保内容中不包括任何未经承认的HTML,将故事保留在一个故事文件中,并更新这个故事响应的菜单文件。
该使用法式有三种数据文件:Category.txt包括一个复杂的主题列表,故事就是在这里组织的。每一个主题与一个主题菜单文件相干联。第一个主题必需是"Main",并与主题菜单文件 Main.txt 相干联。假如第二个主题是 "TheArts",则它与名为 TheArts.txt的主题菜单文件相干联。在菜单文件中,每一个故事的信息独自占一行:一个故事编号、一个题目、一个种别、一个复杂的摘要,和一个可选的图象URL。最初,故事文件包括一个故事的实践注释。文件 s1.txt将包括第一个提交的故事,s2.txt包括第二个提交的故事,依此类推。假如您晓得一个故事的编号(好比说 26号),则它的文件名很轻易肯定 (s26.txt)。
4.试用 Webzine!
在您细心研讨这个使用法式之前,请起首试用它。试用 Webzine驱动法式。它的左边是一个主题列表,右边是一个故事列表。您可以选择一个主题,或选择"Main"来检查一切故事。起首呈现的是比来的故事列表,第一组故事中假如有图象,同时也会显示这些图象。当您单击一个故事的题目时,就是呈现一个包括该故事的完全注释的一个页面。
试用编纂页(您也能够从Webzine 中试用它)。它供应一个表单,答应您提交一个故事。向 Webzine提交内容时,请重视公共的不雅念亲睦的咀嚼。假如您录入法式不喜好的内容,将显示一条毛病动静。一旦故事被承受,您就能够前往Webzine 来检查它在读者眼前是甚么模样。
如今您已试用了使用法式,请持续浏览前面的局部以懂得它的创立进程。
4.Webzine 驱动法式
传递参数
index.php3 页答应传递参数,以下所示: index.php3?topic=TradeShow&story=33
关于下面的挪用,上面的变量赋值将在挪用index.php3之前主动停止:
$topic = "TradeShow";
$story = 33;
假如您疏忽这些参数,则$topic和$story变量将不存在。您可以显式地对它们停止检测,或在您援用它们时让PHP前往缺省的空值。
注:假如这个特征在您的体系上不起感化,请检查 php.ini文件,确保 register_globals = On。
网页题目
让咱们起首检查很多PHP使用法式中的一项经常使用手艺;将某些品种的信息存入法式开首的变量赋值语句中。如许易于今后的保护和更新。
清单 2:变量赋值
一样,请注重 PHP 的界限标志: 使您从 HTML形式进入 PHP 形式,而 ?> 切换回 HTML 形式。您可以往返切换恣意次。某些操作在 HTML形式下较轻易完成,而别的一些操作在PHP形式下较轻易完成。您所做的全体工作就是在法式开首界说两个变量,然落后入HTML 形式。当需求利用某个变量时,就退回 PHP 形式,并收回一条echo语句将该变量的值直接写入网页注释中。
<?php
$title = "PHP Demo Webzine";
$slogan = "Illustrating the coolness of PHP since September 2000";
?>
<html>
<head>
<title><?php echo($title) ?></title>
</head>
<body>
<h1><?php echo($title) ?></h1>
<p><i><?php echo($slogan) ?></i></p>
种别菜单
Category.txt文件只是主落款的一个列表,每一个主落款独自占一行。例如,假如该文件只包括三项:
Main
Politics
Technology
您将取得三个主题菜单文件:Main.txt、Politics.txt和Technology.txt。一旦选定 "Main"主题,驱动法式就会呈现,以下所示:
Main
Politics
Technology
HTML 源代码以下所示:
<table border=1>
<tr><td bgcolor="pink"><center>
<b> Main </b></center></td></tr>
<tr><td bgcolor="silver"><center>
<b>
<a href="index.php3?topic=Politics">Politics</a> </b></center></td></tr>
<tr><td bgcolor="silver"><center>
<b>
<a href="index.php3?topic=Technology">Technology</a> </b></center></td></tr>
</table>
上面是从将 Category.txt 编译为下面所示的 HTML 代码片段的 PHP
源代码中摘录出来的相干代码片段。起首,将文件 Category.txt
读入一个数组 $cats:
<?php
$cats = file("category.txt");
$elems = count($cats);
?>
file 函数只是将文件复制到一个数组中。所以$cats[0] 等于 "Main",$cats[1] 等于"Politics" ,$cats[2] 等于"Technology"。file 函数使导入一个小 ASCII文本文件变得十分轻易,但不要将它用于很大的文件。count函数统计数组中的元素个数,所以在本例中 $elems 应当等于3。上面申明若何使用谁人数组创立下面的HTML表。
用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。 |
|