我是比较新的PHP,但经验丰富的Java程序员在SOA架构和多层应用程序复杂的企业环境。在那里,我们通常在中间层实现业务逻辑的业务应用。

我编程替代货币系统,该系统应易于通过个人和社区可展开和可定制的;这将是开源的。这就是为什么PHP / MySQL的似乎是最好的选择。我的。

用户都有帐号,他们得到了平衡。同时,该系统计算价格取决于总服务交付和总可用资产。

此装置,在购买一系列的计算发生;平衡,总计得到更新;这些衍生的数字,一些通常不放入数据库中。

然而,我使出把触发器和存储过程进入分贝,从而使在PHP代码没有这些更新的制成。

什么人认为?这是一个好方法吗?我的经验告诉我,这不是最好的解决办法,并促使我实现一个中间层。但是,我甚至不知道该怎么做。在另一方面,我至今与店特效在我看来,最合适的。

我希望我做了清楚我的问题。所有评论赞赏。有可能不是一个“完美”的解决方案。

有帮助吗?

解决方案

由于是趋势,这些天,从DB越来越远通常是一件好事。您可以更容易的版本控制,你会得到工作,只是一种语言。更重要的是,我觉得,存储过程是很难的路要走。在另一方面,如果你喜欢的东西,你觉得舒服MySql中的SP,他们不是坏人,但我的感觉一直是他们难以调试,更难处理。

在触发器的问题,我不知道这是否为您的应用程序是必要的。由于触发计算的事件是由用户调用,这些东西可以在PHP中发生,即使用户被重定向到一个“等待”页面或在此期间,另一页。显然,真正的触发只能在数据库级别上完成的,但你可以使用运行每X秒PHP脚本守护线程......可避免这种不惜一切代价,并尝试从用户端获得的事件触发。

这一切说,我想插对PHP数据访问层我最喜欢的解决方案:主义。它并不完美,但PHP是它是什么,它的不够好。请问你最想要的,并保持你的对象,而不是数据库程序等工作。

关于你的标题,多层次的,在PHP中,完全可行的,但你必须做的他们,尊重他们。 PHP代码可以调用其他的PHP代码,它现在是(5.2+)很好OO和所有。难道一定要忽视的事实是有很多的PHP代码,你会看到周围是总废话,甚至没有使用方法,更不用说层,和体面OO建模。如果你想这样做,包括做你自己(或使用现有)MVC解决方案这一切成为可能。

其他提示

与推手的功能,数据库级别,而不是数据抽象层的一个问题是,你被锁定到DBMS的功能集。开源软件通常是这么写的,它可以用不同的数据块被使用(当然不总是)。这有可能是在路上,你会想,可以很容易地移植到Postgres的或一些其他DBMS。使用大量的MySQL的具体特点现在作出这样的努力。

有绝对没有错用触发器和存储过程,并通过您的数据库服务器提供的其他功能。它的工作原理和效果很好,您正在使用的数据库的全部潜力,而不是简单地把它贬谪到是一个简单的数据存储。

不过,我敢肯定,对这里的每一个开发谁与你(和我)同意,至少有尽可能多的谁认为正好相反,并有不错的经历与这样做。

由于球员。

我是用分贝触发器,因为我想这可能是更容易像控制事务的完整性。正如你可能知道,我是一个开发谁也试图获得的分贝知识的抓地力。

现在,我看到有是解决由不同的服务器上部署物理传播PHP代码在多个层,不仅在逻辑上也

然而,在这个发展阶段,我想我会坚持我的触发器/ SP的解决方案,为不觉得是错的。分布在多个层需要我始终重新设计我的应用程序。

另外,想开源,如果有人喜欢另类货币系统中,它可能是为人们只是改变布局满足他们的需求更容易,而我不需要担心,计算得到错误的,如果人们触摸PHP代码。

在另一方面,当然,我同意分贝的东西可能会非常难以调试。

在DB初始化脚本是在源控制,因为是PHP文件:)

再次感谢

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top