设为首页 收藏本站
查看: 706|回复: 0

[经验分享] PHP软件工程--简单留言本的构造过程

[复制链接]

尚未签到

发表于 2017-4-9 11:57:09 | 显示全部楼层 |阅读模式

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

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

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

  效果是:
DSC0008.jpg

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

  效果是:
DSC00010.jpg

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

  效果是:
DSC00012.jpg

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

DSC00014.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-362385-1-1.html 上篇帖子: PHP获取当前时间(年,月,日,小时,分,秒) 下篇帖子: PHP中$_FILES的使用及注意事项
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表