PHP动态new变量类名要注意的问题

PHP动态new变量类名要注意的问题

php是可以new一个变量类名的,但是不会带上命名空间,所以我们要自己先在变量名前加上命名空间,否则就报错了!

例:

//new 变量类名不会带上命名空间,所以自己把命名空间加上
$className = __NAMESPACE__.'\\Upload'.ucfirst($storageType);
//new 变量类名,并调用对应类的upload()方法上传文件
$link = (new $className(static::$config, $this->argv))->upload();

这是我自己写的一个用于上传图片到云服务器的小工具,支持8种云,由于是借助Mac的Automator的,所以只能在Mac上用,有兴趣可以看看源码,其中上述代码就是在uploader/Upload.php 这个文件里用到的代码。
去github查看源码:PicUploader

打赏

订阅评论
提醒
guest

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

PHP动态new变量类名要注意的问题