2011-12-17 39 views
1

我正在构建一个简单的PHP应用程序,使用OOP根据数据库中的数据创建一个CSV文件。在哪里验证PHP类中的输入 - 最佳实践

我有一个Config类,它由一个名为open的方法组成,它从ini文件(ini文件名作为参数传入)获取数据。然后将这些数据映射到专用字段并通过访问者访问。我也有一个保存方法,我将用它将数据写回到ini文件。

在我的Utils类中,我有一个静态方法:创建CSV的createCsv。我传递给它的数据,分隔符&输出文件(从配置对象传递)。

我的问题是这样的 - 我应该在哪里验证数据?

目前我对Config类中的open方法有条件逻辑,以便在将它们绑定到私有成员变量之前检查以确保值设置正确。

我还应该对我的Utils :: createCsv方法进行条件验证吗?

+0

我认为你应该检查不同班级的数据,创建能够了解自己的班级总是很好,因为他们可以做得很少 – Kamil 2011-12-17 13:15:33

回答

1

您应该始终将验证逻辑放在模型中。 Config似乎是您的应用程序内的这种模型。

请记住DRY(Dont-Repeat-Yourself)的规则,这意味着您应该避免重复代码。

+0

感谢您的意见,这很有道理。 我只是担心静态方法createCsv可能会在将来由另一个应用程序调用,因此需要确保输入已验证。 我只需要确保我总是验证来自调用代码的输入。 – StuffandBlah 2011-12-17 13:42:02