看到phpstorm的相关警告,经常会看到phpstorm会警告没有ext-json
,我才最近发现composer.json会添加相关的扩展校验.
举个例子
"require": {
"php": ">=5.4.0",
"topthink/framework": "^5.0",
"php-imap/php-imap": "~2.0",
"phpoffice/phpspreadsheet": "^1.3",
"hprose/hprose": "^2.0",
"ext-json": "*" // 这就是解析require json 扩展
},
这个就是校验是否含有json
扩展,那么composer是怎么实现的呢?其实是通过extension_loaded
这个函数取查看扩展版本的
实现是在composer的129行实现,通过extension_loaded
获取扩展.