aini 发表于 2017-4-9 11:57:09

PHP软件工程--简单留言本的构造过程


  
  一、简单留言本
  关于简单留言本的制作方法,请看:《[转]使用FleaPHP框架构建简单留言本应用》
http://www.fleaphp.org.cn/bbs/viewthread.php?tid=161
  本文也是结合该程序来讲述的,所以非常建议读者在看此文前先动手做一遍《[转]使用FleaPHP框架构建简单留言本应用》的例子
  二、使用Enterprise.Architect.v6(以下简称EA)
  EA是比较适合与PHPer的一个UML建模工具,至少,它可以生成PHP代码。而且在下面,大家可以看到用EA来开发FleaPHP框架的PHP应用是件愉快的事情。
  三、开发简单留言本的过程
  首先,我们来看看最终的项目结构图
  可以看到我们有三个根模型:用例模型、数据模型、架构模型。我们主要的开发工作,其实就是完善三个根模型里面的东东。
  
  第一步,我们做需求获取工作--用例图,完善用例模型。
  
  我们需要想想,该程序使用的人是谁,
  然后我们得出我们的程序的使用者--用Actor来显示
  在本程序中,我们只有一个使用者,也就是我们的访问者。
  先在用例图中方上一个小人符号(Actor)表示我们的主角(访问者)。
  然后我们就想想,我们的主角打算怎么使用我们的程序呢?
  然后我们就可以想到:主角(访问者)只有【访问留言页】和【增加留言】两个事情可以做。
  那么,我们就放上【访问留言页】和【增加留言】两个用例,用>>use<<的箭头从主角指向两个用例,表示这是主角做的事情。
  (这图中use箭头不明显,忘记了怎么把箭头调出来。呵呵。。。)
  另外:大家可以发现,这也对应了我们FleaPHP的Controller里面的操作。
  第二步,我们来建数据表,也就是完善数据模型。
  用EA建数据表也是很方便的,也就是构造名为table的特殊类。
  相当于,这个特殊类的属性,就是我们数据表的列名,它的方法,就是我们的表管理,或者primaryKey的表示。
  我们完全可以把它当做phpMyAdmin里面的建表一样用。我们会发现其实它跟建一个普通类没有分别。
  但是,我们的EA建表是很好处的哦:它可以直接生成建表的SQL语句。
  
  第三步,我们导入FleaPHP本身的文件。
  在根模型--构造模型上点右键,然后按照图中选择。再选择到我们的FLEA文件夹所在。导入就是了。我们就可以看到有一个FLEA的文件夹(包)在构造模型下了。里面有FLEA的所有类。
  (题外话:EAv6在导入FLEAPHP1.07的带例子那个版本好像导入不完整,有提示出错。导入runtime的那版本,可以导入完整,但是也提示有错。)

  
第四步,我们根据用例图,写Controller_Default类的内容
  其实就是填写好Controller_Default类的所有方法和属性。
  而且Controller_Default类都是继承FLEA_Contrller_Action的,
  我们把FLEA_Contrller_Action类从已经导入的FLEA文件夹中直接拉到Contrller包的类图里。
  让我们的Controller_Default可以继承它。

  另外,上图中,在Controller_Default的一些方法里,我们可以先初始化一些代码进去--老实说,这样做,我们都不用再写其他代码了。。
  如果是其他的项目,我们需要继续完成其他的Controller类的方法和属性。本例就只有一个。
  第五步,我们根据数据表图,写Model_GB的内容,也就是填写好Model_GB的属性和方法
  FleaPHP的方便在这里就可以看到了:每一张数据表对应一个Model类(好好体会哦!)。
  我们可以非常简单按照这个思路来设计。
  而且同样,我们也在tableName和primaryKey两个属性里,写上我们的初始化代码,那么最后生成的Model类PHP文件,根本就不用再写代码了。
  
  第六步,我们可以开始做系统了。
  先由数据模型生成SQL建表语句,然后再导入到phpMyAdmin就行。

  效果是:

  
第七步,我们生成Controller_Default代码,
  请注意路径和文件名(那个文件名是Default.php,里面的类名是Controller_Default)

  效果是:

  我们很高兴发现,基本上在Controller_Default里面要写的都写好了。
  我们只要改require_once成Flea的LoadClass就可以。
  也就是按照FleaPHP就一些方式去改一点点就OK了。
  第八步,我们生成Model_GB代码
  也要注意路径和文件名(文件名是GB.php,里面的类名是Model_GB)

  效果是:

  同Controller_Default,我们的Model_GB也要小改一下,然后我们的Model_GB也可以了。
  
到这里,整个留言本应用,基本上已经差不多了。
  另外看看,我们生成的代码,也可以直接到EA里面去编辑。那会更方便。
  编辑Controller_Default代码
  
  编辑Model_GB代码

页: [1]
查看完整版本: PHP软件工程--简单留言本的构造过程