重庆蒲公英网站建设公司免费咨询热线:400-023-2008
 当前位置:网站首页 > 关于蒲公英 > 项目动态 >

重庆网站建设PHP大型项目规划!

日期:2011-06-11 10:03     [收藏]   [复制网址]   [打印]

一、项目规划

无论我们是在开发大型、中型还是小型的项目,规划是始终是最重要的事情。重庆网站建设公司对我们的水平达到某个层次的时候,我们就可以编写一些程序而无需看着教程或书籍。也许我们懂得用PHP连接数据库,输出运算结果,创建类等等。然而,很多人的水平达到这个阶段的时候就很容易只顾编码而完全忽略了规划。

  尽管即兴编程听上去不错,但如果我们要一个工具帮我们实现流线型的编码作业、简便的升级过程以及轻松的编码工作,规划就是最好的选择。如果我们已经规划好了数据库结构,如果我们对自己的代码已经有了大概的轮廓,如果我们非常清楚自己写的程序是做什么用的,那么,编码工作只不过小菜一碟。多数的书籍或教程中都没有详细地讲解规划过程,因为通常作者已经做好了这个工作。但如果我们要自己来编一个程序,那么对程序的规划就显得尤为重要了。当我们要为程序添加新的功能或特性,以及要开发新版本的时候,就会发现程序的规划和良好的代码结构会是开发过程中最重要的一个环节。

二、程序特性规划

 规划程序特性最基本的要求是我们必须知道自己的程序是做什么用的。首先,要对程序基本的特性有一个大概的轮廓,就如这个留言本一样,我们可以列出了以下东西:

  1)显示留言功能;2)发表留言功能;3)管理功能;4)模板功能。

  是如何写出这些特性的?很简单,我参考了其它的留言本,看看它们有什么特性,并大概的做了一个分类。然后再想想有什么类型的特性是它们没有而我们又想添加上去的。但这样做只是粗略地勾画出一些基本的特性而已

  现在,我们需要对这些特性进行补充和扩展,列出我们认为程序必须具备的详细特性。下面我们随便列举一些:

  • 显示留言功能
    • 默认每页显示10条留言,但允许用户自行定制
    • 使用JavaScript实现留言的展开和收缩
    • 支持BB代码
  • 发表留言功能
    • 在每一页加上发表留言的链接
    • 必须填写的信息:呢称、留言
    • 可选填的的信息:电子邮件、网站、IM帐号、地理位置
    • 隐藏表单域:IP地址(用于防止垃圾信息)
  • 管理功能
    • 编辑留言
    • 删除留言
    • 屏蔽IP地址
    • 词语过滤器
    • 基本设置:网站名称,留言本名称,网站URL,数据库主机、名称、用户、密码
    • 留言回复
    • 简单的模板编辑及添加功能
    • 管理员身份验证
  • 模板功能
    • 从数据库或文本文件提取变量值并替换

三、编码规划

现在要开始规划代码了。我们要让程序基于数据库运行吗?如果是的话,用什么数据库?又或者是我们是不是想让程序基于文本数据库?如果是的话,如何实现?还有就是,我们的代码是基于哪种结构的?对于大型的程序开发,我的建议只有三个字:Object Oriented Programming。

  开发大型PHP程序最佳的代码结构就是使用OOP。比方说,我们有一个论坛程序是用OOP开发的。现在程序里有一个类叫做view,在view里有一个方法叫viewThreads(),可以通过接受参数来输出帖子内容。如果现在有一个叫viewforum.php的页面用于每次显示一个特定的帖子,那么我们就可以调用$view->viewThreads()来输出结果了。如果还有一个搜索功能,也要输出帖子的内容,那么我们只需调用viewThreads()这个方法即可。如果没有使用OOP,当我们要改变输出帖子的代码的时候,就必须修改每一个显示帖子的文件,但用了OOP,我们只需修改类代码就行。但使用OOP的真正意途是使代码更容易组织和扩展。

  因为,我们决定用OOP来编程了,至少也要用在这个留言本上。现在的问题就是:我们将会编写哪些类?这些类是用于完成什么工作的?如果我们要使用数据库的话,那么至少需要一个类来处理和数据库的数据交换。还有的就是,我们需要一个留言处理类来处理输出和添加留言,一个管理类来完成管理工作,一个模板类来处理模板。在一些大型项目中,我推荐使用现成的模板类如Smarty和patTemplate等,这样既可以免除很多烦琐的工作又可以在程序里面实现一些强大的功能,最重要的一点就是,你现在在编写的是留言本,而不是模板引擎,所以使用现成的就可以了。

四、抽像处理

抽象处理

  什么是抽象处理?我们常听到的是“数据库抽象”,一种可以使你无需修改代码就可以访问众多数据库的技术。但是,所谓的抽象处理还有可以是轻松编码的代词。有这样一种情况:我们需要所有的页面的某部分(如页眉、页脚、变量引用等)内容相同,这时我们可以一次又一次地重写这部份的内容,也可以创建一个包括这些重复内容的页面然后在每一页中引用它。虽然输出页面重复内容时引用公共文件的这种方法在Smarty面前已黯然失色,但是,还是有它另类的用法,特别是在一些大型程序中。

  消息抽象就是抽象应用的一个例子。在这个留言本中,我们需要输出如“留言提交成功”、“请输入呢称”等消息,就可以创建一个消息类来处理它:

<?php
class msg {
    function 
msg($num) {
        
$start '<p style="font-color:red">';
        
$end '</p>';
        
$message $start;
        switch(
$num) {
            case 
1:
            
$message .= '帐号名错误'?>

 看完这篇文章,你应该会知道我一直所强调的就是规划,它使编码变得更简单。如果对项目做了规划工作,那么一切进展都会变得顺利。比如说,如果你特定的功能创建了类,那么调试这些工能将会是一个简单的工作;如果你使用了模版引擎,那么你的代码将会显得更简洁、更易于维护和升级。

  一但确定了你工作的方法,就把这些方法用到每一段代码上。每次我对项目进行规划以及使用了适合的工作方法之后,我都会发现编码质量有了飞跃。也许你不愿意把时间放在规划上,因为它会占用你的时间,但当你要添加新功能、升级程序、修改代码或改变界面的时候,你就会那是一件很痛苦的事情。

上一篇:重庆网站建设前策划的五点建议!      下一篇:重庆舰创科技P3智能建站系统开发己经启动!