教师博客系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“教师博客”。
CAJViewer 7.1 PHP是一种服务器端、跨平台、Html嵌入式脚本语言,它在快速发展的Web应用中,被越来越多的网站采用。利用PHP进行中小型web开发应用,会使开发工作变得更加简单、高效。本文基于Windows+Apache+Mysql+Php环境,对PHP的开发应用进行了研究,参照软件开发流程开发了一个教师博客系统,并展示了整个开发过程。在开发过程中,利用PHP面向对象编程特性,编写了类库文件,减少了编码的出错率和工作量;利用安装文件对数据库进行初始化,增强了系统的可移植性:利用文本文件存储数据,减小了数据库负担,缩减了系统,加快了运行速度。
PHP is a server-side, cro-platform, and html embedded script language which has many advantages.With the rapid development of web application, PHP has been widely used by more and more websites.It is much easier and efficient to program by PHP for the development of small or medium-sized websites.Based on the Windows+ Apache+Mysql+PHP environment, in this paper, the author studies web applications developed by PHP, and also develops a personal' blog system according to standard software development framework.During the courses of development, the author programs some cla library files taking advantage of the PHP's OOP properties, which reduces the coding mistakes and workload of programming.The system database is initialized by a setup file, which enhances the system portability.Text file is used as database, which lowers the burden of system database, reduces the system scale and enhances the system running speed.O.问题的提出 O.1博客现状 0.1.1博客简介
blog的全名是Web log,中文意思是“网络日志”,后来缩写为Blog,而博客(Blogger)就是写Blog的人。从理解上讲,博客是“一种表达个人思想、网络链接、内容,按照时间顺序排列,并且不断更新的出版方式”。
随着Blog的快速扩张,它的目的与最初的浏览网页心得已相去甚远。目前网络上数以千计的Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog己成为家庭、公司、部门和团队之间越来越盛行的沟通工具,它甚至也逐渐应用于企业内部网络(Intranet)中。
“2004年以来,在国内教师博客也成为热门的网络应用之一。教师博客是教育博客中的一种。教育博客面向教育界,是以教育、教学等教育界话题为主要传播内容的分类博客服务。教师博客特指面向各类教师用户推出的博客服务。教师申请注册一个博客空间后,就相当于在网上建立了一个交流社区,利用互联网新兴的博客(blog)技术,以文字、多媒体等方式,将自己日常的生活感悟、教学心得、教案设计、课堂实录、课件等上传发表,以此开展师生(以及其它网民)之间的传播活动。它超越了传统时空局限(课堂范畴、讲课时间等),促进了教师个人隐性知识显性化,并让全社会可以共享知识和思想。“ 著名的博客中国网、中国教育和科研计算机网等都相继推出了教师博客服务,使博客日益深入地服务于从幼教到大学的各学科教师的教研活动之中,给教育教学工作带来了新的气象。随着教师博客的大规模普及,将在传统基于课堂教学的“教堂式教育模式”之外,催生出真正开放的“集市式教育模式“,推动人类教育事业的进步。
0.1.2博客开发技术
当前,新浪、搜狐、人民网、博客网、网易、和讯等网站,在不断推出博客服务平台,各自在资源整合与技术的架构上发挥了自身的特点和优势。进行博客技术开发应用,这对中国互联网全面推进博客走近百姓日常生活起到了非常重要的作用。博客技术后台服务功能更加便利和高效。不同的网站都以自己独特的创造性,整合博客技术初级化的缺陷,在综合的基础之上,人们感受到更加完善的博客应用系统被开发出来。新浪博客技术具有传统网络成熟稳定性,搜狐的博客已经具有更完美的形态,博客网的梦之城第二代博客具有更人性化和娱乐性表现;新浪的整体架构与博客网自主聚合编辑系统和网易部落聚集,都体现了博客交流形态复杂性与唯美的结合。
随着博客技术的流行,博客技术形态会更加具有人性化和高效的服务性,网络整体架构会发生更加多样的变化。创新博客技术的引进和使用过程,会提出更多的问题需要从整体架构上进行思考。集娱乐、通讯和新闻、广播、影视和商务、政务、企业、管理等一体性网络架构将成熟,全新的网络架构模式会出现在中国互联网发展的历史上。未来的博客将呈现以下发展趋势:
(1)博客成为人们普遍接受的交流平台
BBS、电子邮件、即时短信、通讯已经改变了整个未来网络走向和应用功能,博客将改变整个网络的传播面貌。它可能集所有的功能来综合应用,开发出它作为普及性交流平台的作用和功能。博客可以应用影视、图片、广播和文字等手段与技术,自由发布个性化信息的时代。它将整个改变了人类精神交流和文化传播的模式。传统的传播受到了很大的冲击,人们将要面对博客带来的深刻变化,并且会适应这种变革中所发生情景,并且逐步普遍会接受博客这样的交流平台。
(2)博客平台与移动手机传播互动技术日益成熟
3G手机的发展会带动或加快整个博客平台技术很快成熟起来。人们会利用博客平台来进行影像互动和文字短信的交流,这个既是通讯又涉及到商务活动和娱乐平台,会迅速推动整个博客与手机互动性服务模式的运行。在不久的将来,人们利用手机阅读器就可以看电影、看电视、听音乐、购物、玩游戏或传播图像和更换自己的博客。
(3)博客将推动整个传媒与出版业发生变革
自媒体的博客传播将会改变整个信息化产业结构,尤其是新闻和出版业的发展未来,将会更多的受到它们的影响和改变。人们关于媒介信息的需求更加个性化,这并不是说它彻底改变了整个出版业和新闻界,而是说多元化的社会文化需求,人们更多的偏爱独特的信息传播,或者说更多个性化的信息服务,更加具有针对性的信息传递。新闻和出版业会更多的关注或参与到博客中来,建构新闻与出版的平台,满足人们对于新闻与出版更多服务与要求。
(4)博客传播全球化必然是互联网未来选择
全球化的过程,对于互联网就是一个无国界的传播过程。博客就是适应了这种传播的需要而产生。每一个人,都可以在全球化的过程中建构一个自由发布个性化信息平台,这就是互联网给人们带来的革命性变革力量。一个开放的社会,实际上,就是一个虚拟世界中更真实的面对现实社会的选择。博客的发展是一个必然的过程,全球化的传播,也是一个能够给人们带来更多信息的社会。互动的网络社会突破了地域之间人们的阻碍,它给人们带来了更多的机会和把握未来的机遇。
从技术上来说,博客系统是基于web模式的,具有基本动态web开发技术的工具都可以进行博客开发,大多数web开发技术都是HTML嵌入式的,目前,流行的web开发技术主要有:
asp为前身,微软于2000年1l月发布了ASP.NET,并与2005年正式发布了功能更为强大、使用更为简单的ASP.NET 2.O o
(2)PFIPo PHP(HyperText Preproceor,超文本预处理器),其优势在于运行效率比一般的CGI程序要高,而且完全免费,任何人都可以从PHP官方站点(http: //www.daodoc.com/down/php一52 0RC4-Win32zip ③mysql.40 14-win far下载参考地址:
http://www.daodoc.comm_info:
Mysql> CREATE TABLE IF NOT EXISTS 'blog-cometjnfo'('id' int(11)NOTNULL auto一ncrement,'blog id' int(11)default'0','comet-name' varchar(32)NOT NULL,'cont' text NOT NULL,'add time' datetime default '0000-00-00 00:00:00',UNIQUE KEY'id'('id'));/
这样,我们就可以在命令符状态下创建了一个表blog comet_ info,并对表的每个字段进行了定义,使用类似语句就可以创建出所有我们需要的表了。4.编码实现过程
在明确了需求后,我们对PHP进行了探究,接下来,我们又对博客系统分别进行了功能设计、数据库设计、文件结构设计、流程设计,下面我们来进行最繁琐也是比较重要的一步,就是编码实现过程。
为了使编码过程更加清晰、有层次、易‘懂,我们将文件依次按照类库文件、安装程序文件、注册用户文件、管理用户文件、浏览用户文件等四个相对独立的模块进行编码,并在编码中给出了必要的注释。4.1类库文件模块
4.1.1数据库类文件核心代码。
此文件在文件夹inc下在文件mysql.php中,这里我们定义了一个数据库类mysql,对用到的数据库操作进行了封装。这样,在任何页面中都可以用include方式引入外部文件的方式进行引用。
一一一一一=inc/mysql.inc.php二一—一一一一一一
cla mysql{
///连接服务器、数据库以及执行SQL语句的类库
public $database;
public $server username;
6public $server userpaword;
function mysql()
{//构造函数初始化所要连接的数据库
$this->server username=”root“;
$this->server userpaword=”root“;
}llend mysql()
function link($database)
{刀连接服务器和数据库 if($database==”“)王
$this->database=”newsee manage“;
}else{
$this->database=$database;
} //连接服务器和数据库
if($id=mysql_ connect('localhost',$this->server username,$this->server userpaword)){ if(!mysql_ select db($this->database,$id)){ echo”数据库连接错误!!”;exit;} }else{ echo”服务器正在维护中,请稍后重试!!” exit;
} }//end link($database)function excu($query){//执行SQL语句
if($result=mysql-query($query)){
return $result;
}else{
echo mysql error();
echo ”sql语句执行错误!!请重试!!”;
exit;
} }//end
exec($query)
}//end cla mysql
?>
文件中使用了构析函数mysql对数据库类初始化了数据库连接的主机、用户名和密码,并把数据库查询、修改等操作作为数据库类的方法进行了封装。4.1.2函数库类文件核心代码
此文件也在文件夹inc下,我们把各种常用的函数封装在了myfunction这个类中,放在了文件myfunction.php里。这个类没有属性,只有方法,每个方法实现了一中特定的功能,在外部引入中可以直接使用类的各种方法,从而实现系统操作的各种功能。一一一—=inc/ myfunction.php一一一一二一一一一二
cla myfunction王
//////////////刀字符转换:向数据库中插入或更新时用IIIIIIIIIIIIIIIIIIIIIlIlII
function str_to($str)
{
$str--str-replace(“ ”,“ ”,$str);
//把空格替换】itml的字符串空格
$str=str一 replace(“
$str=stree replace(”>“,”>“,$str);//把html的输出标志正常输出
$stt=n12br($str);
//把回车替换成html中的br
return $str;
} ////////////////字符转换:从数据库中读出显示在表单文本框中用////////////////I/////////
function str to2($str)
{
$str=str_replace(” “,” “,$str);
//把空格替换html的字符串空格
$str=stres replace(”“,”“,$str);//把html的输出标志正常输出
return $str;
} //JS弹出信息框
function js_ alert($meage,$url){
echo ”“;
} //判断是否为整数
function int一 estimation($num)笼
if(eregi(”^[0-9]+$“, $num)){
return true;
}else{
return false;
} //类型记返回类型名称
function type idto name($type id){
$folie=new mysql;
$folie->link(”“)}
$query=”select type-name from blog type info where id='$type_id“';
$rst=$folie->excu($query);
$info=mysql fetch_ array($rst);
return $info[”type-name“];)//博客信息表中的类型id返回博客类型名称
function blog type idto_ name($type id){
$folie=new mysql;
$folie->link(”“)}
$query=”select*from blog type info where id='$type_id“';
$rst=$folie->excu($query);
$info=mysqlwe fetch array($rst);
return $info[”type一 name“];
} llll/IIIlI分页函数返回:首页上一页[1][2][…]下一页尾页//////////
function page($query,$page id,$add,$num_per page){ //// include ”mysql.inc“;//////使用方法为: /////$my}new myfunction;////// $query=”“;////// $myf->page($query,$page id,$add,$num}er}age);////// $bb=$aa->excu($query);$bb=new mysql;global $query;
//声明全局变量 $bb->link(”“);$page-id=$_ GET[page id];//接收page id if($page-id==”“){
$page id=l;
} $rst=$bb->excu($query);$num=mysql一 numes rows($rst);if($num---0){ echo”无相关记录!
}else道
$page num=ceil($num/$num_per}age);for($i=l;$i
if($page id==$i)笼
echo ”[$i]“;
}else{
echo ” [“.$i.”]“;
}
}
if($page一d==1){
$pagewe up=l;
}else{
$page-up=$pag勺d-I;
}
if($page id==$page-num){
$page down=$page-num;
}else{
$page down=$page id+l;)
if($page id I){
echo ”下一页“.}
if($page id>I and $page id
echo ”上一页}};
}
echo “ 第”.$page_ id.”页,共”.$page-num”页”;
$pageyjump=$num}er-page*($page id-I);
$query=$query.” limit $pag叼urnp,$num}er-page“;
}
}
}
?>
本文件中,我们自定义了常用的字符转换、弹出信息、分页等常用函数,在本 系统里,这些函数属于通用函数。4.2安装程序模块
本文件在主目录下,文件名是install.php,它是数据库初始化页面,完成数据库 和表的创建功能,第一次运行本系统时,运行一次本页面程序,运行成功后就可以 把本页面文件删除掉。
——一一一一install.php一一一一一一
}}PhP
include ”inc/mysql.inc.php“;
$aa=new mysql;
$bb=new mysql;
$aa->link(”mysql“);
$query=”CREATE DATABASE 'blogwe db'“;
if($aa->excu($query)){
echo”数据库创建成功!”;
}
$bb->link(“blog db”);
//创建表:manage user info//
$query=“CREATE TABLE 'manage info'('id} int(11)NOT NULL auto increment,'manage user' varchar(20)NOT NULL,'manage}rv' varchar(32)NOT NULL,'last time' datetime default'0000-00-00 00:00:00',UNIQUE KEY'id'('id')),’;
$bb->excu($query);
echo”创建表:manage一nfo成功!-;
通过标准的SQL语句“CREATE TABLE tablename(name type......),然后借助 PHP内置的MYSQL支持函数excu(SQL),我们依次可以创建表:
// user info//
// blog_type info//
// blog info//
// blog_comm_info!/
// pic info//
接下来一步我们需要初始化管理员用户名和密码:
$query=”INSERT INTO
'manage-info' VALUES(1,'admin','admin','0000-00-00 00:00:00')“;
if($bb->excu($query)){
echo”初始化管理员用户名和密码:admin,admin”;
}
echo “OK!”;
?>
在本页面里,用了七条sql语句在mysql里创建了一个数据库blog_db,然后又分别创建了本系统用到的六个表:manage_ info,user info,blog一 type_ info,blog info, blog-comm info.pic_ info。并对每个表的每个字段进行了定义。4.3注册用户功能模块
注册用户是本系统的主要用户,跟它有关的文件有主目录下的loginl.php文件和manage文件夹下的所有文件。
在login.php文件里,实现了注册用户的登陆和注册功能,在manage文件夹里的文件里实现了注册用户的所有管理功能,包括常规设置(general.php)、友情连接管理(link.php)、图片管理(pic_ add.php)、博主的话(sta_say.php)、日志分类(module_ add.php)、日志添加(blog_add.php, blog_ edit.php)、日志管理
(blog manage.php)、安全设置(key.php, seion.php)等功能。另外,管理界面文件为user.php,在user.php文件里,实现了动态包含文件的功能。还有一个menu.php文件是单纯的包含在user.php里面的。下面我们对每个文件的编码和功能进行分析 4.3.1登陆文件核心代码
本文件通过一个Get变量$一ET[}}register_ tag}}」标志出是用户登陆还是注册,然后用分支结构语句分别进行处理,其核心代码如下:
一—一一=loginl.php=—一—一一二
include “inc/mysql.inc.php”;
include “inc/myfunction.php”;
include “inc/head.p帅,;
$folie=new mysql;
$crazy=new myfunction;
$folie->link(”“)}
刀接受变量
$register tag=$_ GET[”register tag“];
$up_register=$少OST[”upes register“];
$up login=$ POST[”up login“];刀验证用户登陆信息 if($up_login==1){
fuser-name=$一OST[”user name“];
$query=”select*from user info where user-name='fuser name' and tag--'1”,;
$rst=$folie->excu($query);
if(mysql num-rows($rst)>=1){
$info=mysql_ fetch array($rst);
fuser-pw=$_ POST[“user_pw”];
if($user}w==$info [“user}w”]){
$_ SESSION[“user name”]一$user name;
$_ SESSION[“user id”]=$info[“id”];
$_ SESSION[“user tag”]=“1”;
$today=date(”Y m-d H:ia“);
$query=”update
user info
set 'las甘ime'='$today'
where 'id'= $info[idJ“';
//$query=”insert
into
user info('user name','user}w','last time')values('$user name','$user-pw','$today')“;
$folie->excu($query);
$crazy->js alert(”登陆成功!”,“manage/user.php”);
}else{
$crazy->js alert(”用户名或密码错误!“,”index.php“);
}
}else{
$crazy->js alert('’用户名或密码错误!”,“index.php”);
}
}
//判断用户注册信息,并写入数据库
if($up一 register=1){
fuser name=$一OST[“user name”J;
if($user name!=“”){
$query=“select*from user info where user name='fuser name”';
$rst=$folie->excu($query);
if(mysql num rows($rst)
fuser-pwl=$ POST[“user_pwl”];
$user}w2=$一OST[”user}w2“];
if($user_pwl=$user}w2 and fuser-pwl!=,”){
$r time=date(”Y m-d H:ia“);
$query=”insert
into
user info('user name','user-pw','r time')values('$user name','$user}wl','$创me')“}
$rst=$folie->excu($query);
if($rst){
$crazy->js_alert(”注册成功!”,“index.php”);
}
}else{
$crazy->js alert(',两次输入的密码不一致,请重新输入!“,”index.php?register tag=1 “);
}
}else{
$crazy->js alert(”用户名己存在!”,“index.php?register tag=1 ”);
}
} }
?>
width=“752”
border=“0”
cellpadding=“0”
cellspacing=“0” style=“border-collapse:collapse”>
叼tr>
include “roc/foot.php”;
?> 4.3.2用户界面文件核心代码
用户界面文件user.php中包含了一个menu.php文件,它是用户操作的菜单选项并根据菜单选项传递给user.php一个操作标志,通过这个操作标志,user.php接收传递变量$_GET[“target”]实现了动态文件包含,从而完成了各种功能页面的包含功能,其实现代码为:
$target=$_ GET[“target”];
$target.=“.php”;include $target;文件核心代码如下: 一一一—一=manage/user.php===--_-一一一二一
$folie=new mysql;$crazy=new myfunction;$folie->link(”“)} ?>
$target=$_ GET[”target“];
if{$target=” “){
。品。”一欢迎您登录多用户博客管理后台:一一点击右侧连 进行相关操作。一”;
}else{
$target.=”.php“;
include $target;
}
?>
width=”257“
align=”center“
valign=”top“>
Include”../inc/foot.php“;
?> 4.3.3常规设置文件核心代码
常规设置是注册用户文件的一些个性化设置,其设置数据存储在文本文件中,文本文件在主文件夹下config文件夹里,每个注册用户有三个文本文件保存常规设置,分别为config*.txe,link*.txt,sta say*.txt命名。本文件中实现了文件的读写功能。其核心代码如下: 一一一=一一一=一=manage/general.php=--=二一=二—一一一
$config tag=$ GET[”config tag“];$name=”config“.$_ SESSION[”user id“];if($config_ tag==1){
刀接收变量
$margin一 top=$ POST[”margin-top“];
$margin bottom=$_ POST[”margin-bottom“];
$backgroun之color=$ POST[”background-color“];
$title=$一OST[”title“];
$copy right=$_ POST[”copy-right“];
//构造字符串
$str in=”
$str in.=”global $confg;n“;
$str in.二,’//网页布局参数w,;
$str in.=”$config['margin-top']=1“”.$margintop.“”;n“;
$str in.=”$config['margin-bottom'〕二“”.$margin_bottom.“”;n“;
$str_in.=”$config['background-color']=‘,,$background color.“”;n“;
$str in.=”1n“;
$str in.=”//头信息和版权设置坷,;
$str in.=“$config['title']=”“.$title.”“;1n”;
$str in.=“1$config['copy-right']=”“.$copy right.”“;n”;
$str in.=“1n?>”;
刀写入文件
if($fp=fopen(',二/config/$name.inc“, ”w“)){
fwrite($@$str in);
fclose($fp);
}
include”二//config/$name.inc”;} @include”二/config/$name.inc“;?> 常规设置 4.3.4友情链接文件核心代码
本文件通过文件读写功能将友情链接数据存放在用户配置文件link*.txt里面,并实现了友情链接添加删除功能,其核心代码如下:
一一=—一—=manage/link.php一一一二=二一-=一二一一
////编辑友情链接
if($ GET[”edit tag“]一1){
$name=”link“.$_ SESSION[”user id“J;
if(!@$fp=fopen(',二/configl$name.txt”,“r”)){
echo”未创建!“}
}else{
$linlc_name=$一 GET(”linkto name“];
$linkwe name Nev.$ POST[”link name new“];
$link-addr new=$_ POST[”link-addr一 new“];
@$rst=fgets($fp,3000);//读取
$link=explode(”}“,$rst);
for($i=0;$i
{
if($i%2=0){
$j=$i+1;
if($link[$i]=$linkes name){
Slink[$i]=Slink-name new;
Slink[$j]=$linlc_addr new;
}
}
}
刀构造新的字符串
for($i=0;$i
if($i==0){
Slink-new=Slink[$i];
}else{
Slinkes new.=”}“.Slink[$iJ;
}
刀重新写入
if($fp=fopen(',二/config/$name.txt”, “w”)){
fwrite($fp,$linlc_new);
fclose($fp);
}
}
} } ///添加链接
if($_ GET[“add tag”]一1){
Slinkes name-new=$_ POST[link-name-new];
Slinkra addr new=$少OST[link-addr-new];
if(Slink一 name new!=“” and Slink-addr new!=“”){
$name=“link”.$_ SESSION[“user id”];
@$fp=fopen(”二//config/$name.txt“,”r“);
@$rst=fgets($fp,3000);//读取
if($rst---”“){
$rst.=Slink一 name new;
$rst.=”}“.Slink addr new;
}else{
$rst.=”}“.Slink name new;
$rst.”}“.Slinkes addr new;
}
//重新写入
if($fp=fopen(”../config/$name.txt“, ”w“)){
fwrite($fp,$rst);
fclose($fp);
}
} } //删除连接
if($_ GET[”del tag“]一I){
$linlc_name=$_ GET[”link一 name“];
$name=”link“.$_ SESSION[”user id“];
if(!@$fp=fopen(”../config/$name.txt“,”r“)){
echo”未创建!”;
}else{
@$rst=fgets($fp,3000);//读取
Slink=explode(“}”,$rst);
for($i=0;$i
{
if($i%2=0){
$j=$i+l;
if(Slink[$i]一$Iink name){
Slink[$i]=“”.Slink[[$i]=,”;
break;
}
}
}
//构造字符串
for($i=0;$i
{
if(Slink[$i]!=“”){
if($i=0){
$str`in=Slink[$i];
} else{
$str`in.=“}”.Slink[$i];
}
}
}
//重新写入
if($fp=fopen(“../config/$name.txt”, “w”)){
fwrite($印,$str in);
fclose($fp);
}
} 35/67
56/67 6.结论与展望 6.1本文总结
本文先对当前教师博客现状和PHP开发应用现状进行了研究,接着探讨了在Windows下PHP环境的配置过程,然后对教师博客各模块进行了详细的功能设计和流程设计,接下来专门对数据库进行了设计,数据库设计完成后,我们开始进行了编码工作,最后,对整个系统进行了测试。在整个开发过程中,突出了以下几点:(1)类的应用。在编码工作中,将数据库和常用函数库分别定义了类,并对各种操作进行了封装,把代码集中到一个或两个文件中。这样就避免了在每个需要打开数据库的地方再
单独编写数据库链接代码,直接进行引用数据库类文件就可以了。同样,在需要用到常用函数的地方也可以直接引用函数库类文件。这也符合模块化编程思想,使得编码过程更加简洁、不易出错。
(2)文本存储思路。在数据存储设计中,为了系统运行速度更快,尽量减少数据库连接,本系统用到了文本进行数据存储。当一些数据量不大、不方便用数据库进行存储的数据时,适当考虑用文本来进行存储数据,这样不仅可以缩减系统,并且在存取速度上也存在一定优势。
(3)初始化文件安装方式。在一般的web开发中,都是事先直接在mysql中进行数据库定义,然后再进行开发,这样做最大的缺点是不便于移植到另一个系统中,容易造成数据混乱,并且不便于操作,也不方便记忆。初始化文件安装方式,使得本来可移植性强的PHP程序,可以连同数据库表定义移植到其他系统,并且简化了操作。
(4)PHP的seion验证机制应用。在编码过程中,用到了PHP的seion机制来对用户进行验证。合理利用seion的验证机制,可以确认每个登陆者的不同身份,从而进行有针对性的操作,是每个系统必须具备的,但是PHP的seion的验证机制相对来说更加安全、简单,实现起来也很方便。
(5)动态页面文件包含。在注册用户管理功能模块的user.php文件里,实现了用变量值作为包含文件名的功能,根据页面传递变量值的不同,动态包含以变量值命名的包含文件,简化了编程步骤,减少了编程工作量。
本系统实现过程中,也存在着很多不足,主要表现在功能过少、界面设计过于简洁、有些代码比较繁琐等。6.2 PHP前景展望
通过以上应用,我们可以看到,PHP在这种中小型应用是非常有优势的,主要表现在:
(1)开放源码。PHP开发源码使得全球的PHPer们都可以参与到PHP的开发和测试中,PHP的每个漏洞得到及时改进和解决。另外,开发源码的低成本也使得PHP的广泛流行,在当前中小型web应用中,PHP所占的比例也越来越大。
(2)与MYSQL的完美组合。我们可以看到,PHP提供了对mysql的强大支持,仅仅通过几个函数,我们就可以进行对数据进行查询、修改等操作。PHP对MYSQL这种方便、简单的数据库操作,使得PHP+MYSQL的应用越来越流行。
(3)简单易学的语法。PHP的语法跟C语言很相似,但是又比C语言简单、好掌握,初学者不用花费很大的代价就可以用PHP编出一般的web应用系统。
当然,PHP还有很多特性和优点,我们在前面也介绍过。但是由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。这主要表现在:
(1)PHP缺乏规模支持。PHP缺乏多层结构支持,对于大负荷站点,解决方法只有一个:分布计算,数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维阵列。而PHP则缺乏这种支持。
(2)虽然PHP提供了对mysql的完美支持,mysql是一个快速,易用的数据库,但在系统稳定性和强健性上还不能和oracle等大型数据库相比,并且mysql不支持事务处理。另外,PHP提供的其他数据库接口支持不统一,这就使得它不适合运用在电子商务中,更不适合应用在企业的关键应用中。
(3)PHP作为一门Web编程语言,并不是纯粹的面向对象型编程语言。PHP对类重载的支持并不理想。甚至可以说PHP根本不支持真正的重载。因为PHP不允许一个类中出现两个同名的变量或者同名的方法,否则会报错。在大型应用中,面向对象编程会有很大优势。
可见,PHP是一种简单的,解释型的,健壮的,安全的,性能非常高的,独立于架构的,可移植的,动态的脚本语言。它可跟mysql紧密的结合在一起,在中小型应用中有其它web编程语言不可比拟的优点,利用PHP+mysql开发中小型应用会使开发工作变得更加简单、高效,但是在大型的关键性应用上有所不足。相信随着PHP应用的快速发展,不久的将来,这些缺陷将会得到有效解决,PHP会迅速变成一种标准的,多用途的,面向对象的脚本语言。
创业博客系统 项目建设方案书2008年7月18日前言以党的十七大精神为指导,全面贯彻中央关于新农村建设的意见要求, 以弘扬创业精神、培育创业主体、拓展创业空间、加强创业服务......
一、校园博客系统1、系统概述校园博客系统可以加强教师和学生之间的了解和交流、教师与教师之间的教学经验分享、学生与学生之间的学习心得分享,更好的展示教师和学生的风采;......
关于校园博客系统的研究——文献综述【摘要】随着 web2.0 技术的出现, 博客已越来越受人们的关注, 博客的应用也越来越普遍。本文归纳了博客系统研究中的关键问题,分析了当前......
人生最大的幸福,是发现自己爱的人正好也爱着自己。 摘 要 随着Internet的广泛应用 动态网页技术也应运而生本文介绍了应用ASP动态网页技术开发博客系统的设计与实现 博客系统......
博客管理系统1.系统需求分析博客系统分前台功能和后台功能两大部分。前台主要供用户注册,浏览,后台主要供管理员使用,管理员可以对用户进行管理。1.1前台功能分析博客系统前台......