Php,为什么我们不应该使用get('var');


php, why we shouldn't use get('var');

我只是想知道,如果有任何其他(如安全问题等)除了我们的代码清晰度为什么我们应该避免获得类变量

    getVar('var');

代替:

   getId(); getName(); etc. etc.

?

我想一个原因是你的IDE可以通过自动补全和提示方法名来帮助你。

如果你按照第一个例子使用通用get方法,IDE将无法给你任何帮助。

另外,如果它是一个公共API(即除了你自己之外的开发人员将使用它),它将真正帮助他们有一个固定的接口来工作,而不是一个单一的get方法,不告诉他们可能的选项是什么。

由于我们在这里专门讨论PHP,因此值得指出的是,您所描述的功能非常类似于PHP的内置__get()方法。此方法的工作方式与您描述的getVar()非常相似,但将变量公开为属性。

这在IDE类型提示中也有类似的问题,但如果您使用体面的IDE,可以通过使用文档注释来告诉IDE支持哪些属性来解决这个问题。getVar()方法不会有这个选项。