php作为二次开发弱类型语言, 可读性, 可视度都是比较高的.

在很多人眼里, 也许php只能做一些web应用开发, 比如某个公司的网站, 某个公司的网站后台,

其实,我可以告诉大家, php不比任何一门语言差.

最近在做某公司的项目, 要求做一套健身平台的一套SAAS平台, 项目做砸了, 为什么呢?

我分析了以下原因 (个人观点):

1. 数据分离

系统和网站项目不同, 一般网站只是为了展现一些信息, 给浏览者提供一些信息源, 这里面的数据是共享的, 就是说信息提供方和信息接收者双方可视的信息都是一样的. 而系统则不同, 数据提供者和数据接收者两者存在交易关系,  双方成交后, 数据就涉及到了分离,比如: 某公司出售一批会员卡, 作为编程者, 会员卡就是一串串的数据.  它里面有会员卡的数据结构, 会员卡的属性, 数量, 状态, 这样的数据我们可以对他增删改查的操作, 那如果你作为消费者, 购买了一张会员卡, 那这张卡的数据, 就要和公司出售的会员卡数据分离开来, 前面的增删改查则不可以影响后者的数据, 而我们的项目前期架构没有做到数据分离,到现在去维护修改, 太难了!!!

2.核心模块

以我做的这个项目为例,

审批模块 : 基于rbac权限分配, 一些敏感操作需要有审批许可.

行为模块:  系统的必要行为操作, 需要有一张记录表来记录它们, 并根据需要展示出来.

订单模块:  订单记录

历史记录模块: 消费者的一些操作要有一张记录表来记录它们

在此, 希望猿友们, 看了有所感悟和帮助! 以上纯属自身观点, 如有冲突, 可在下方评论提出:

最新文章

  1. maven打包问题
  2. 【NodeJS线程】Boss和他的职员们
  3. BZOJ-1196 公路修建问题 最小生成树Kruskal+(二分??)
  4. Java的switch用法
  5. jquery datatable[表格处理]
  6. ortoiseSVN无法编辑日志信息的解决方法
  7. 两台机子的repcached Memcache 的安装与实验
  8. Scrapy运行错误:ImportError: No module named win32api
  9. [bzoj4864][BeiJing 2017 Wc]神秘物质
  10. [LeetCode] Random Pick with Blacklist 带黑名单的随机选取
  11. pip离线安装python包
  12. 题解——洛谷P2294 [HNOI2005]狡猾的商人(差分约束)
  13. ansible经常使用模块使用方法
  14. http 请求报文和响应报文
  15. 文本框input:text
  16. mybatis的<choose>和<when>、<otherwise>标签
  17. 怎么应对 domino文档损坏然后损坏文档别删除导致数据丢失
  18. 01-学前入门概念:.net与c#
  19. Servlet中response对象Commit状态的分析
  20. hdu5819

热门文章

  1. C++文件操作方法小结
  2. Codeforces 1165F2(二分内的check)
  3. GYM 101572C(模拟)
  4. MPlayer 常用操作和快捷键列表
  5. Joda-Time 的 DateTimeFormat 问题
  6. STM32空闲中断
  7. SSIS连接-左外连接
  8. [代码修订版] Python 踩坑之旅 [进程篇其四] 踩透 uid euid suid gid egid sgid的坑坑洼洼
  9. java jmap
  10. android pm命令