如何直接调用写好的 Class,类似 Laravel 的 Facade 的效果

2017-01-01 17:46:41 +08:00
 ioioioioioioi

具体需求如下: 写个 Class ,需要可以直接使用,比如下面的 class 可以直接使用\cache::get($key), \cache::tag('name')->get($key)等

class Cache
{
    public function get($key)
    {
        // ...
    }
}

有人对这个有兴趣吗?

2519 次点击
所在节点    PHP
6 条回复
jessynt
2017-01-01 18:00:51 +08:00
__callstatic
1762628386
2017-01-01 18:47:41 +08:00
***全部继承一个父类***
1.使用__callstatic 和 call_use_array($callable,$args)来实现静态访问
2.避免多个 new Class,将类缓存在静态变量中

如果不用继承,引入一个 trait 也可以
1762628386
2017-01-01 18:48:09 +08:00
```php
echo ?
```
jininij
2017-01-01 21:17:39 +08:00
门面?
kankana
2017-01-01 23:19:29 +08:00
名字是叫门面,但不是设计模式的门面,具体实现是代理模式
zencoding
2017-01-02 19:36:17 +08:00
你是想说 factroy,工厂模式?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/331588

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX