ioioioioioioi
V2EX  ›  PHP

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

  •  
  •   ioioioioioioi · Jan 1, 2017 · 3290 views
    This topic created in 3594 days ago, the information mentioned may be changed or developed.

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

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

    有人对这个有兴趣吗?

    6 replies  •  2017-01-02 19:36:18 +08:00
    jessynt
    jessynt
    Jan 1, 2017
    1
    __callstatic
    1762628386
    1762628386
    Jan 1, 2017
    2
    ***全部继承一个父类***
    1.使用__callstatic 和 call_use_array($callable,$args)来实现静态访问
    2.避免多个 new Class,将类缓存在静态变量中

    如果不用继承,引入一个 trait 也可以
    1762628386
    1762628386
    Jan 1, 2017
    3
    ```php
    echo ?
    ```
    jininij
    jininij
    Jan 1, 2017 via Android
    4
    门面?
    kankana
    kankana
    Jan 1, 2017 via iPhone
    5
    名字是叫门面,但不是设计模式的门面,具体实现是代理模式
    zencoding
    zencoding
    Jan 2, 2017 via Android
    6
    你是想说 factroy,工厂模式?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1545 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 23:16 · PVG 07:16 · LAX 15:16 · JFK 18:16
    ♥ Do have faith in what you're doing.