|
|
1
0
我发现这有几个问题
我不知道这些是否只是问题中的拼写错误,但我不得不提到它们。 到目前为止
这是预期的行为,因为(非静态)属性的范围仅存在于您创建的类的实例中。 您可以将此属性设置为静态,并且可以从同一请求中的任何实例(PHP实例)访问它。然而,当您必须动态地将事物设置为静态时,通常不是最好的方式,因为您必须确保在使用它之前设置了它,并且它可能会被另一个实例更改,并在当前实例中产生意外的结果。
要在类的另一个方法中访问它,您必须使用
下面是一个简单的示例来说明两者之间的区别:
输出
在线测试 http://sandbox.onlinephpfunctions.com/code/268e95a28663f4e8d6172cb513a8b3cf1ad5d929
正如您所看到的,调用了相同的方法,一次使用
希望这会有所帮助,因为这可能是一个非常令人困惑的概念。 关于公共财产的说明(免责声明这是我的观点) 我避免使用类的公共属性,因为它不是 S.O.L.I.D 基本上,你可以更改属性的名称或删除它,等等。现在,由于它可以从外部访问,你必须搜索所有代码来重构该更改。访问类外的方法更干净,因为它们的内部实现对外部代码不重要(也不应该重要)。您可以重构方法的核心,只要参数和返回值没有太大变化,您就不必接触类外的任何其他代码。 因此,与其这样做:
我更喜欢这样做:
因为在类内部我们可以重新定义
现在,在某些情况下,这是非常好的,例如充当数据存储的类等。。这只是一件需要注意的事情,而且通常是不鼓励的。这也有助于
|
|
2
0
没有理由
产生:
|