php - 我可以强制 PHP 7.1 语法在返回类型中要求类型提示吗?
问题描述
从 PHP 7.0 开始,可以在函数中设置返回类型。
但是你不能强制它,因为void
语言不支持返回类型,静态分析很难知道一个函数是否会返回与 void 不同的东西。
在 PHP 7.1void
中允许返回类型。这意味着现在所有函数都可以建立返回类型。
问题
有没有办法以这种方式配置 PHP,以便在函数没有建立返回类型时发出“语法错误”?
例如这个:
private function foo()
{
$this->dummy();
}
会抛出语法错误,而这个:
private function foo() : void
{
$this->dummy();
}
不会。
解决方案
你不能在 PHP 中强制这样做,但你可以使用 PHPCS(或类似的)来嗅探它。
PHPCS的Slevomat Coding Standard嗅探包括对此的检查:
SlevomatCodingStandard.TypeHints.TypeHintDeclaration
检查缺少的@return 和/或本机返回类型提示,以防方法主体包含返回值。
推荐阅读
- linear-programming - 如何将 PySCIPOpt 模型的解决方案复制到另一个模型?
- java - 如何在游戏中添加按钮以使两者都可见?
- c# - 将 URL 文档下载到文件夹
- python - HTTP 错误 400 使用 python 调用 api 的错误请求
- ruby - 使用 Ruby IO 混合输入/输出?
- python - use_avro_logical_types 参数听起来被忽略(至少对于日期)
- python - 结果很差 Word2Vec
- php - 在带有 PHP7.4 的 Ubuntu 18.04 上的 Moodle 设置上出现 MySQLi 错误
- python - 为什么matlab和python对同一个数学问题给出不同的答案?
- spring-boot - 将来自 marktplace kubernetes 引擎的 consul 应用程序与微服务 google cloud run 连接起来