![]() |
2
8
您可以使用各种框架,如pdo、pear::mdb2或zend_db,但老实说,在12年的PHP开发过程中,我从未需要从一种类型的数据存储基础结构过渡到另一种类型。 从类似于sqlite的东西到mysql,这是非常罕见的。如果你做的不止这些,你还是会遇到更大的问题。 |
![]() |
3
3
我提出了一个有趣的概念,允许开发人员创建 数据库不可知论 代码,但与ORM不同 不牺牲表现 :
结果是 Agile Data - database access framework (详细说明见视频)。 用数据库不可知代码和敏捷数据解决现实任务
此时,框架将根据数据库的功能确定最佳策略,映射字段声明,为您准备和执行查询,这样您就不必编写它们了。 代码示例我的下一个代码片段解决了确定 我们所有的VIP客户目前的债务总额是多少 . Schema:
接下来是独立于供应商的代码:
结果查询if
对于其他数据源,执行策略可能会带来更多的数据,但会始终如一地工作。 我认为我的方法是抽象数据库的一个很好的方法,我正在努力在麻省理工学院的许可下实现它: |
![]() |
4
2
你应该调查一下 PDO library.
|
![]() |
5
2
最好的方法是使用ORM(对象关系映射)库。其中有很多是针对PHP的。我个人用过,可以推荐 doctrine orm (我将它与Silex结合使用,后者是一个极简的PHP框架)。 下面是一个关于php表单的stackoverflow线程,如果您愿意,可以在其中找到一些替代方法: Good PHP ORM Library? |
![]() |
7
1
一般来说,如果你在使用数据库时遇到麻烦,那么你的应用程序将受益于使用特定于数据库“品牌”的功能,并且将是一个更可靠的应用程序。 从一个数据库系统转移到另一个数据库系统是非常罕见的。唯一一次您可能会现实地认为值得实现的AA特性是,如果您正在编写某种松散耦合的系统或框架,以供大规模消费(如Zend框架或Django)。 |
![]() |
8
1
我一直喜欢使用ADODB。从我所看到的来看,它看起来能够在非常不同的平台之间切换。 |
![]() |
9
1
事实上,“在哪里实现数据访问逻辑”主题的解决方案不复杂。您需要记住的是,您的模型代码必须与数据访问代码分开。 像: 使用某些业务逻辑user::name()方法对层进行建模
数据访问层:
用途:
在本例中,很明显您可以随时更改数据访问类链接,该链接将对任何内容运行查询(这意味着您可以在更改链接时在任何服务器上保存用户)。 同时,您有一个干净的模型层代码,它独立生活,不知道是谁和在哪里保存它的对象。 此外,这里的数据库类似乎是不必要的,但实际上它可以产生一些伟大的想法,比如在一个项目中为多个DB连接收集一个实例的多个链接。 此外,还有一个简单、功能强大的单一文件框架,叫做 db.php ( http://dbphp.net )它是基于我在这里描述的模式构建的,甚至可以自动创建表,从而能够完全控制其标准的SQL字段/表设置,并在每次需要时将数据库结构与模型同步。 |
![]() |
Vedant · 如何解决python啦啦队长问题?[已关闭] 2 年前 |
![]() |
cobby · 在战略模式中使用工厂模式? 2 年前 |
![]() |
Nobody · Java中带while循环的三角形模式 2 年前 |
![]() |
Eduard Stefanescu · 如何在层之间传输异常? 6 年前 |
![]() |
D. Schreier Talha Noyon · 对于目录中的每个类 6 年前 |
![]() |
Tanvi Jaywant · 如何重载类 6 年前 |