Php 提示对象属性存在的类型
Php type hinting to object properties existance
如何提示我收到的参数必须具有多个 public 属性?
类似于:
interface IPerson {
public $surname;
public $name;
}
class A {
public function foo(IPerson $p) {
return $p->surname . ' ' . $p->name;
}
}
但是由于接口不能指向变量(为什么?),上述行为在 PHP 中甚至可能吗?
可能有一些新的 php 版本(5.5-7.0
)?
我认为主要问题是 php
类型系统,其中没有 has property
概念?
在接口中定义 getter:
interface IPerson {
public function getSurname();
public function getName();
}
class A {
public function foo(IPerson $p) {
return $p->getSurname() . ' ' . $p->getName();
}
}
如何提示我收到的参数必须具有多个 public 属性?
类似于:
interface IPerson {
public $surname;
public $name;
}
class A {
public function foo(IPerson $p) {
return $p->surname . ' ' . $p->name;
}
}
但是由于接口不能指向变量(为什么?),上述行为在 PHP 中甚至可能吗?
可能有一些新的 php 版本(5.5-7.0
)?
我认为主要问题是 php
类型系统,其中没有 has property
概念?
在接口中定义 getter:
interface IPerson {
public function getSurname();
public function getName();
}
class A {
public function foo(IPerson $p) {
return $p->getSurname() . ' ' . $p->getName();
}
}