• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

两种PHP实现类作为参数传递的方法

php 搞代码 4年前 (2022-01-22) 19次浏览 已收录 0个评论
文章目录[隐藏]

在做PHP项目的时候,经常需要动态的使用某个类的同一方法名的方法。例如class A有get方法,class B也有get方法。此时只有两个类非常好解决,用一个if就完美解决了,拿如果有N个这样的类呢?那就需要我后面将的方法来实现啦!

解决办法

其实我也是在看ThinkPHP框架时才发现这个技巧的,那就是PHP是可以通过类的名字或他的空间名来代替类的,这样的话就可以直接传递类名或类的空间命名,来实现类作为参数传递这样的功能了。

通过类名代替类

<?php class A{    public function test(){        $class = 'B';         $b = (new $class); //必须要将类名放在变量里面,如果直接new 'B'会出错。        $b->test();    }}class B{    public function test(){        var_dump('class B');    }}$a = new A();$a->test();//最后将输出class B

通过空间命名名代替类

//FileA<?php require  'testB.php';class A{    public function test(){        $class = 'testB\B';         $b = (new $class);//必须要将命名空间放在变量里面,如果直接new 'testB\B'会出错。        $b->test();    }}$a = new A();$a->test();
//FileB<?phpnamespace testB; //空间命名class B{    public function test(){        var_dump('testB\B');    }   }

最后输出:testB\

以上就是两种PHP实现类本2文来*源gao($daima.com搞@代@#码(网搞gaodaima代码作为参数传递的方法的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:两种PHP实现类作为参数传递的方法
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址