PHP做ERP, CRM, CMS系统需要注意哪些地方
php作为二次开发弱类型语言, 可读性, 可视度都是比较高的.
在很多人眼里, 也许php只能做一些web应用开发, 比如某个公司的网站, 某个公司的网站后台,
其实,我可以告诉大家, php不比任何一门语言差.
最近在做某公司的项目, 要求做一套健身平台的一套SAAS平台, 项目做砸了, 为什么呢?
我分析了以下原因 (个人观点):
1. 数据分离
系统和网站项目不同, 一般网站只是为了展现一些信息, 给浏览者提供一些信息源, 这里面的数据是共享的, 就是说信息提供方和信息接收者双方可视的信息都是一样的. 而系统则不同, 数据提供者和数据接收者两者存在交易关系, 双方成交后, 数据就涉及到了分离,比如: 某公司出售一批会员卡, 作为编程者, 会员卡就是一串串的数据. 它里面有会员卡的数据结构, 会员卡的属性, 数量, 状态, 这样的数据我们可以对他增删改查的操作, 那如果你作为消费者, 购买了一张会员卡, 那这张卡的数据, 就要和公司出售的会员卡数据分离开来, 前面的增删改查则不可以影响后者的数据, 而我们的项目前期架构没有做到数据分离,到现在去维护修改, 太难了!!!
2.核心模块
以我做的这个项目为例,
审批模块 : 基于rbac权限分配, 一些敏感操作需要有审批许可.
行为模块: 系统的必要行为操作, 需要有一张记录表来记录它们, 并根据需要展示出来.
订单模块: 订单记录
历史记录模块: 消费者的一些操作要有一张记录表来记录它们
在此, 希望猿友们, 看了有所感悟和帮助! 以上纯属自身观点, 如有冲突, 可在下方评论提出:
PHP做ERP, CRM, CMS系统需要注意哪些地方的更多相关文章
- iDempiere = OSGi + ADempiere 一款ERP&CRM&SCM系统、助力中小企业发展
怀揣着为中小企业量身定做一整套开源软件解决方案的梦想开始了一个网站的搭建.http://osssme.org/ iDempiere = OSGi + ADempiere 一款ERP&CRM&a ...
- 开源免费ERP/CRM/SCM:iDempiere 2.0 安装配置
首先简单介绍一下iDempiere:iDempiere是一款Java平台的基于Compiere/ADempiere的开源企业级开源ERP/CRM/SCM系统, 由于是在ADempiere基础上用O ...
- 介绍一款非常适合做微网站并且免费的CMS系统
在微网站火热的今天,寻找一款具备 web app功能的CMS系统能够大大提高我们的工作效率,eBSite升级到3.0后,开始支持web app 皮肤,也就是创建一个站点,会同时绑定一个PC版皮肤与一个 ...
- odoo:开源 ERP/CRM 入门与实践
看了这张图,或许你对odoo有了一些兴趣. 这次就是和大家一起交流开源ERP/CRM系统:odoo 对以下读者有帮助:研发.产品.项目.市场.服务.运营.管理等. 一.背景趋势 社交网络.电商O2O: ...
- odoo:开源 ERP/CRM 入门与实践 -- 上海嘉冰信息技术公司提供咨询服务
odoo:开源 ERP/CRM 入门与实践 看了这张图,或许你对odoo有了一些兴趣. 这次Chat就是和大家一起交流开源ERP/CRM系统:odoo 对以下读者有帮助:研发.产品.项目.市场.服务. ...
- CMS系统简介(从简介到使用)
CMS系统简介 1.简介 CMS是Content Management System的缩写,意为"内容管理系统". 在中国互联网的发展历程中,一直以来默默地为中国站长提供动力的CM ...
- erp crm oa
erp是企业管理计划 crm是客户关系管理 oa是办公自动化erp管理的是企业的进销存.产供销.财务等crm主要是管理企业的客户,可以和erp的销售系统挂钩oa主要是管理一些内部的文档.公告,行政信息 ...
- net开源cms系统
.net开源cms系统推荐 内容目录: 提起开源cms,大家第一想到的是php的cms,因为php开源的最早,也最为用户和站长们认可,随着各大cms系统的功能的不断完善和各式各样的开源cms的出现,. ...
- django的CMS系统(内容管理系统)
一.什么是CMS系统 CMS具有许多基于模板的优秀设计,可以减少开发的成本. CMS的功能并不只限于文本处理,它也可以处理图片.Flash动画.声像流.图像甚至电子邮件档案. CMS还分各个平台脚本种 ...
随机推荐
- 随机算法瞎练BZOJ3237&3563&3569三倍经验题
随机方法真的好骚啊O(∩_∩)O~ 最早的时候miaom提出一个奇怪的东西: 判断一个数列中是否有0/1/2个数出现奇数次 对每个数赋一个随机权值,异或乱搞,对于判2的情况用一个(可能类似线性基的)方 ...
- 总结一下WindowListener的用法
记录一下便于自己查看 1.WindowListener java.awt.event 接口 WindowListener public interface WindowListener extends ...
- RK3288开发过程中遇到的问题点和解决方法之Kernel
修改背光改变区间 kernel\drivers\video\backlight\pwm_bl.c static int pwm_backlight_update_status(struct backl ...
- 排序算法C语言实现
大学有一门课程叫做数据结构,严蔚敏的课本,其中详细介绍了集中经典的排序算法,学习复习反复几次,但是直到现在仍然只记得名字了,所以想记录下来,随时复习直至牢记于心.经常面试的朋友知道,排序算法在面试中出 ...
- python+selenium之处理HTML5的视频播放
from selenium import webdriver from time import sleep driver = webdriver.Firefox() driver.get(" ...
- 事务回滚 DEMO
因为有些事物回滚 查询的时候 可能查出来空值 我们肯定不愿意把空值添加数据库里面 一般基本的是这么写 if (object_id('add_T_Disclose_DiscloseList', 'P' ...
- SqlServer中生成一串连续数字
在SQLServer中一串连续数字,如1,2,3,4,5,....或者 1 2 3 4 5 没有现成方法,网上都用通用表表达式递归生成.今天想到一个还算简单的方法,记录下来: select row_n ...
- 使用代码获得Netweaver里某个software component和C4C的版本
有同事问如何通过代码的方式获得Netweaver里某个Software component的版本信息,以及Cloud for Customer(C4C)的版本信息. Netweaver 点了Detai ...
- UVA 818 Cutting Chains 切断圆环链 (暴力dfs)
题意就是给一张无向图,去掉某些结点,然后连成一条链,问最少去掉几个结点. n很小n<=15,所以直接枚举2^15个状态就行啦. 链的条件是1.无环,2.没有度大于2的点,3.把n个散链连起来需要 ...
- Netbackup驱动器常用命令vmoprcmd
1.vmoprcmd vmoprcmd – 对驱动器执行操作员功能 大纲 vmoprcmd -devmon [pr | ds | hs] [-h device_host] default_operat ...