首页 > 代码库 > Web基础开发最核心要解决的问题

Web基础开发最核心要解决的问题

Web基础开发要解决的问题,往往也就是那些框架出现的目的 - 要解决问题。

 

1. 便捷的Db操作;

2. 高效的表单处理;

3. 灵活的Url路由;

4. 合理的代码组织结构;

5. 架构延伸 缓存、安全、DB扩展等

6. 丰富的类库;

 

每种框架的哲学,决定了它最终的用户群体。

 

其中关于表单处理,因为同时涉及前后端编码,往往是开发中最繁杂、最耗时的工序。

因此,很多人想办法封装了前后端表单验证规则、甚至于表单控件,以便减少繁琐与重复的编码。常见的解决方案有:

1. Pear QuickForm

2. Zebra From

3. Yii Model

4. 其他各种框架内置Form处理

 

第一二两种是集成式方案,完全通过PHP构造表单元素及对应的验证规则 - 当然也是可以自行定制前端显示方案的,实现一次编码,前后端通用,已经是了不起的设计了。

但感觉耦合度还是有点高,而且表单数据的收集往往是为了跟数据库产生交互,也就是说表单中的数据一般还要用于DB操作。表单数据处理完了,不代表就能直接用到DB操作中。

 

Yii的这种方案,尤其是它的AR方案:以后台数据库端为起点,对使用场景进行倒推。通过它的Gii工具,根据数据库结构生成DB模型,DB的各种规则自动被映射到模型类中。字段验证规则与对应的ActiveForm挂件结合,实现前后端同步验证,而且耦合度很低,前端界面可完全自定义。基础的验证规则按照统一的规范,可自行扩展,同时确保每种验证规则都具有高度的复用性。

 

应该来说,这是我目前见到过的最合理的解决方案。

其他不再多说,主要是做一个思路上的小结。