|
1
|
| Imran Qadir Baksh - Baloch · 技术社区 · 7 年前 |
|
|
1
45
stdclass不是基类!php类不会自动从任何类继承。所有类都是独立的,除非它们显式地扩展另一个类。php在这方面不同于许多面向对象语言。 |
|
|
2
36
最好的方法是创建一个退化的接口
然后在基类中,可以实现
现在可以根据需要调用函数
如果传递的对象继承自
|
|
3
12
虽然只花了8年时间,但这很快就会实现:php 7.2引入了
更新,11月30日: PHP 7.2 has been released 这完全符合您的预期:
将导致:
这样做的一个副作用是
|
|
4
11
尽管没有对象的类型提示,但可以使用:
|
|
|
5
7
没有所有对象都从中扩展的基类。您应该删除typehint并在
|
|
6
3
在不要求接口的所有用户扩展指定类的情况下,没有任何内置机制可以做到这一点。但你为什么要这么做?所有对象类型有哪些共同点足以使它们适合于您的api?
很可能你不会得到任何东西,即使你能像这样键入提示。另一方面,键入hinting参数以实现接口(例如
如果您仍然需要类似于类型提示的内容,那么最好用
|
|
|
7
2
从php 7.2开始,这个特性现在已经实现了。现在可以为任何对象键入提示。
|
|
|
8
1
Typehint
例子
打印输出:
|
|
9
-3
你可以这样做:
|