Imi
优质
小牛编辑
125浏览
2023-12-01
类名: Imi\Util\Imi
框架里杂七杂八的各种工具方法基本都放在这个类
方法
仅列出可能常用的方法,大多数方法无需了解。
parseDotRule
处理按.分隔的规则文本,支持.转义不分隔
// ['a', 'b', 'c']
var_dump(Imi::parseDotRule('a.b.c'));
// ['a.b', 'c']
var_dump(Imi::parseDotRule('a\.b.c'));
getClassShortName
获取类短名称
// C
echo Imi::getClassShortName('A\B\C');
getNamespacePath
根据命名空间获取真实路径,返回null则为获取失败
// /mnt/d/projects/imi-demo/vendor/yurunsoft/imi/src/
echo Imi::getNamespacePath('Imi'), PHP_EOL;
// /mnt/d/projects/imi-demo/HttpDemo/
echo Imi::getNamespacePath('ImiDemo\HttpDemo'), PHP_EOL;
getNamespacePaths
根据命名空间获取真实路径,允许返回多个
var_dump(Imi::getNamespacePaths('Imi'));
getClassPropertyValue
获取类属性的值,值为beans配置或默认配置,支持传入Bean名称
构造方法赋值无法取出
// 默认为Imi\Server\Group\Handler\Redis
echo Imi::getClassPropertyValue('ServerGroup', 'groupHandler');
getImiCmd
获取imi命令行
// php /mnt/d/projects/imi-demo/HttpDemo/bin/imi server/reload
echo Imi::getImiCmd('server', 'reload');
eval
eval()
函数的安全替代方法
Imi::eval('echo "hello imi";');