作为程序员,我喜欢开发算法。我喜欢解决问题并找出一个干净,高效,可读,优雅的解决方案。然而,我似乎发现,我的大部分时间都用于验证和清理表单数据,并将其传递以准备各种SQL语句。也许这就是“就是这样”但我怀疑我可能做错了。
如何避免无休止地验证输入和构建数据库交互的死亡陷阱?你使用第三方图书馆吗?写自己的图书馆?或者这就是它的方式?
答案 0 :(得分:8)
大多数人使用某种框架抽象出很多表单验证和数据库事务。一个例子是Zend框架Forms。我见过人们编写自己的库来添加类似的功能。
例如,我为小型客户端编写了自己的简单库(只需将每个表单元素作为自己的类,使用Basic“元素”基类),一组验证类和一个Form类来包装要素。表单类为每个元素调用validate方法,并将其数据转换为可以提供给数据库类的数组。
您最好的选择是找出您正在构建的网站和表单的需求。 (复杂的形式可能太难以抽象出来)。但是简单的形式可以让他们的编码流程没有太多困难。
答案 1 :(得分:2)
如果您没有使用框架(或不能),那么您一定要查看php Filter方法:http://php.net/manual/en/book.filter.php
它们是从PHP 5.2开始构建的
我还没有在框架之外看到一个很好的数据库提取,但是PDO抽象层是一个好的开始(http://php.net/manual/en/book.pdo.php)
P.S。我也可以使用Drupal。特别是webform模块使这一切变得非常简单。
答案 2 :(得分:1)
我使用Drupal,但您可能更喜欢使用某种框架。