国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP Facades的實(shí)現(xiàn)

wuaiqiu / 2921人閱讀

摘要:示例獲得我獲取根對象先加入服務(wù)容器創(chuàng)建類別名通過門面調(diào)用類方法其他魔術(shù)方法與方法簡單理解和兩個函數(shù)為一個類創(chuàng)建別名

示例
$method(...$args);
    }
    //獲取Facade根對象
    public static function getFacadeRoot()
    {
        return static::resolveFacadeInstance(static::getFacadeAccessor());
    }
    protected static function resolveFacadeInstance($name){
        if(is_object($name)){
            return $name;
        }
        if (isset(static::$resolvedInstance[$name])) {
            return static::$resolvedInstance[$name];
        }
        return static::$resolvedInstance[$name] = static::$app[$name];
    }    
}
class Router extends Facade{
    protected static function getFacadeAccessor(){
        return "router";
    }
}

class Container{

    public $binding;
    
    public function bind($name,$obj){
        $this->binding[$name] = $obj;
    }
    
    public function make($name,$args=[]){
        call_user_func_array($name, $args);
    }
}
//step1:先加入服務(wù)容器
/*$container = new Facade;
$container->bind("router",function(){
    return new RealRoute;
})*/

Router::$app["router"]=new RealRoute;
//step2:創(chuàng)建類別名
class_alias("Router","Route");
//step3:通過門面調(diào)用類方法
Route::get();
 
其他

PHP 魔術(shù)方法 __call 與 __callStatic 方法
簡單理解call_user_func和call_user_func_array兩個函數(shù)
class_alias--為一個類創(chuàng)建別名

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/31713.html

相關(guān)文章

  • Laravel之Contracts和Facades

    摘要:而這些通用的接口已經(jīng)由為你設(shè)計(jì)好了。作為在服務(wù)容器內(nèi)基類的靜態(tài)代理。所有對的調(diào)用都會被轉(zhuǎn)發(fā)到該類對象下。在注冊類在注冊自定義的別名使用測試去查看輸出 Contracts Contracts其實(shí)就是倡導(dǎo)面向接口編程,來達(dá)到解耦的目的。而這些通用的接口已經(jīng)由Laravel為你設(shè)計(jì)好了。就是這些Contracts.那么Laravel如何知道我們需要使用哪個實(shí)現(xiàn)呢?在Laravel默認(rèn)的Con...

    CoorChice 評論0 收藏0
  • Laravel 創(chuàng)建自己 Facade

    摘要:使用現(xiàn)在,在任何一個控制器,或者路由的回調(diào)函數(shù)中,使用你會發(fā)現(xiàn),已經(jīng)可以好好工作了,參考文章設(shè)計(jì)模式九外觀模式結(jié)構(gòu)型服務(wù)容器實(shí)例教程深入理解控制反轉(zhuǎn)和依賴注入服務(wù)提供者實(shí)例教程創(chuàng)建測試實(shí)例 我的博客原文: http://www.qinblog.net/Articl... 前言 laravel 提供了一個靈活的模式,那就是 facade 。框架內(nèi)部的 DB、Auth、File 等功能也...

    K_B_Z 評論0 收藏0
  • 走過,路過,快來看看laravel設(shè)計(jì)模式好文章匯總!

    摘要:中用到了很多設(shè)計(jì)模式,實(shí)現(xiàn)這些設(shè)計(jì)模式時也用到了不少新特性。學(xué)會之后可以把設(shè)計(jì)模式的思想應(yīng)用在我們的程序中。實(shí)際上是服務(wù)容器中那些底層類的靜態(tài)代理,相比于傳統(tǒng)的靜態(tài)方法,在提供了簡潔且豐富的語法同時,還帶來了更好的可測試性和擴(kuò)展性。 laravel中用到了很多設(shè)計(jì)模式,實(shí)現(xiàn)這些設(shè)計(jì)模式時也用到了不少php新特性。學(xué)習(xí)這些設(shè)計(jì)模式,可以幫助我們: 學(xué)習(xí)php新特性,知道如何用新特性,寫...

    2i18ns 評論0 收藏0
  • Laravel框架門面Facade源碼分析

    摘要:容器主要的作用就是生產(chǎn)各種零件,就是提供各個服務(wù)。的原理我們以為例,來講解一下門面的原理與實(shí)現(xiàn)。當(dāng)運(yùn)行時,發(fā)現(xiàn)門面沒有靜態(tài)函數(shù),就會調(diào)用這個魔術(shù)函數(shù)。我們看到這個魔術(shù)函數(shù)做了兩件事獲得對象實(shí)例,利用對象調(diào)用函數(shù)。 前言 在開始之前,歡迎關(guān)注我自己的博客:www.leoyang90.cn這篇文章我們開始講 laravel 框架中的門面 Facade,什么是門面呢?官方文檔: Facade...

    wanghui 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<