ioioioioioioi
V2EX  ›  PHP

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

  •  
  •   ioioioioioioi · Jan 1, 2017 · 3092 views
    This topic created in 3469 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
        1
    jessynt  
       Jan 1, 2017
    __callstatic
    1762628386
        2
    1762628386  
       Jan 1, 2017
    ***全部继承一个父类***
    1.使用__callstatic 和 call_use_array($callable,$args)来实现静态访问
    2.避免多个 new Class,将类缓存在静态变量中

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