使所有方法都在PHP中返回MyResult对象是否是一种良好/常识性的编程实践?

问题描述

| 通过MVC体系结构设计的程序的几层工作,我发现我想了解更深层的方法返回结果的更多信息,而且我并不总是可以预期何时需要这个信息。并且-为了抽象起见-我可能不希望该方法内容输出到特定于应用程序的日志(该方法可以在其他程序中使用),或者不希望具有特定于应用程序的行为,就像上面的其他层一样。 例如,在给定的实用程序功能中,在执行某项操作之前,我可能需要进行一些先决条件检查,否则这些检查将失败。如果我对任何一个返回false,则呼叫者不知道发生了什么。如果我返回false并记录到应用程序日志中,发生了什么,那么我会将函数绑定到特定于应用程序的行为。 问题是:实现一个名为MyResult的小类并返回响应状态(确定/否),消息,最终的整数代码以及调用者可以在其中使用的对象占位符(数组或对象),是否是好的/普遍做法?访问返回的对象? MyResult类将在整个系统中使用,并且将成为所有方法及其调用者之间的通用“方言”。然后,所有方法都会一直返回MyResult的实例。     

解决方法

        你能举个例子吗?似乎有点,但我可能会误认为,您正在使用静态方法(即使未像以前那样实现/调用它们)。可以绘制自身的表对象的基本示例称为:“ 0”。它可以返回一个变量,不管它是否起作用(是/否),但是其他任何事情(例如日志记录)都是
table()
的函数,并且就我而言,您的调用方法和返回值都不应与此有关。很担心。 也许我很难理解要在什么情况下使用它,但是如果出于某种需要消息(或事件等)的目的发送消息,则应该定义这些消息,但是我不知道在定义默认的returnObject来传递方法调用结果时,您会发现任何好处。 对于错误,您有两个选择:异常(即:您确实不希望发生的事情并且应该停止执行)和错误:异常但不期望的行为。第一个应该不理会,第二个可能很棘手,但是我要说对象本身应该包含一个状态,该状态可以清楚地说明发生了什么。     ,        那就是例外。您不必像Java一样过度使用它们,但是它们存在是因为错误代码很烂。     ,        如果框架没有提供您需要的特定功能,那么您别无其他选择,只能自己保重。特别是如果您需要能够跨框架目标运行的东西,那么就永远不要融入其中。 但是,许多框架都提供了可以扩展它们的地方。有些比其他的更灵活。因此,如果可能的话,我希望您仍然可以将所需的功能实现为可以保留在框架范围内的一种插件,插件或帮助程序代码。 如果这不可能,我想说做任何想做的事总是有效的。使用框架中对您有用的部分。