我最近被任命为使用PHP后端的项目的开发人员。凭借以前在C#等强类型语言中的经验,这对我来说很难。在C#中,更容易:-
还有更多...
我知道像JavaScript这样的弱类型语言的好处,这为您可以做很多事情提供了可能。但是当您对业务对象具有业务逻辑时,我宁愿使用强类型语言。
我真正的问题是,如果您有这样的事情:-
public function saveEntity($externalId, $layer, $sign = null, $user= null, $pass = null) {
我应该如何知道$ layer包含什么,而不必在调用此函数之前先阅读所有代码行?在这样的地方,识别对象的类型很重要吗?
答案 0 :(得分:4)
两种方法。
您可以使用phpdoc来注释您的方法和变量:
event is Long
或者只需在方法声明中写入类型(需要PHP> = 7):
/**
* @param int $externalID
* @param Layer $layer
* ...
* @return boolean
*/
public function saveEntity($externalId, $layer, $sign = null,
$user= null, $pass = null) { ... }
或者最好同时使用两者。
在代码中始终如一地执行此操作将为您提供所需的一切,同时仍可从动态语言中受益。然后,您的IDE可以进行重构,查找用法并发出警告等。