gpt4 book ai didi

php - 让所有方法在 PHP 中返回一个 MyResult 对象是好的/常识性编程实践吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:36:45 26 4
gpt4 key购买 nike

通过 MVC 架构设计的程序的多个层,我发现我希望获得有关更深层方法返回结果的更多信息,但我并不总是可以预测何时需要这些信息。并且 - 为了抽象起见 - 我可能不希望该方法将内容输出到特定于应用程序的日志(该方法可以在不同的程序中使用),或者像上面的其他层一样具有特定的应用程序相关行为。

例如,在给定的实用程序函数中,我可能在执行某个操作之前进行了多项先决条件检查,但都失败了。如果我对其中任何一个返回 false,调用者就不知道发生了什么。如果我返回 false 并将发生的事情记录到应用程序日志中,我将该函数绑定(bind)到应用程序特定的行为。

问题是:实现一个名为 MyResult 的小类并让它返回响应状态(ok/false)、一条消息、一个最终的整数代码和一个对象占位符(数组或对象)是不是很好/常见的做法,其中调用者可以访问返回的对象?这个 MyResult 类将在整个系统中使用,并且将成为所有方法及其调用者之间的通用“方言”。然后,所有方法都会始终返回 MyResult 的实例。

最佳答案

你能举个例子吗?看起来有点,但我可能会弄错,你正在静态使用方法(即使它们没有像它们本来可以那样实现/调用)。可以绘制自身的表对象的基本示例如下调用:$myTable->paint();。它可以返回一个变量,无论它是否有效(真/假),但任何其他东西(如日志记录)都是 table() 的函数,你的调用方法和返回值都不应该有任何东西就我而言,这样做。

也许我很难理解您要将其用于什么情况,但是如果您想出于某些需要消息(或事件等)的目的发送消息,您应该定义这些,但我不看不到定义默认 returnObject 以传递方法调用结果的任何优点。

对于错误,您有两个选择:异常(即:您确实不希望发生的事情,应该停止执行)和错误:预期但不希望的行为。第一个应该保持独立,第二个可能很棘手,但我会说对象本身应该包含一个状态,可以清楚地说明发生了什么。

关于php - 让所有方法在 PHP 中返回一个 MyResult 对象是好的/常识性编程实践吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6322704/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com