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

打赏

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Notify of

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

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