<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] # 聊聊PHP的作曲家composer(5)-psr/log ## (一)搜索 在 https://packagist.org/ 搜索 `psr/log` 首先我們可以看到使用它的人還真TM的多啊!將近2億8千萬。 如果你從來沒用過,或者你從來不知道它是什么?那你應該想一想,你現在的PHP水平到底處于一個什么樣的水平。 PS:該好好學習PHP嘍! ![](https://img.kancloud.cn/8a/d9/8ad9dbe38ee1d6238fac60566c25e063_991x360.png) ## (二)描述: `psr/log` 是一個 `日志庫通用接口`,提供了上文描述過的接口和類,以及相關的異常類,還有一組用來驗證你的實現的單元測試。 他的維護者是 ![](https://img.kancloud.cn/e3/e2/e3e28971b4f0838a61ca98f2711d9158_282x369.png) ## (三)分析 我們可以來細細的分析一下,如下圖所示: ![](https://img.kancloud.cn/d1/64/d1648976b047fea19b5b941b306f2dad_453x371.png) `LoggerInterface.php`,這是一套日志正常的接口,這是一個`接口類`,不是`普通類`,不能實例化的! ## (四)簡單使用 ``` require './vendor/autoload.php'; use Psr\Log\LoggerInterface; class Test implements LoggerInterface{ //相關繼承代碼 } $result = (new Test())->emergency('1111'); print_r($result); ``` ![](https://img.kancloud.cn/3b/f2/3bf25b370f270ef2b5c1009b027efe22_578x270.png) ## (五)擴展知識 ### 一、普通類 1、關鍵詞:class 類名,繼承關鍵字extends 2、繼承:只能實現單繼承, 3、多態:子類繼承可以實現多種功能 4、封裝:類有權限機制,私有的只能自己用,受保護的可以被繼承,子類的權限必須大于等于父類 5、實例化:可以被實例化 ### 二、接口類 1、關鍵詞 :interface 類名 ,繼承關鍵字 implements 2、繼承:可以實現多繼承,父類有的方法屬性,子類必須有,類可以實現多個接口,用逗號來分隔多個接口的名稱 3、多態:同樣具有多態性 4、封裝:所有的方法,屬性都必須是公有的(public) 5、實例化:不能被實例化 6、函數:只定義函數名與參數,權限,無具體邏輯 ### 三、抽象類 1、關鍵字:abstract 類名 2、繼承:只能進行單繼承 3、多態:同樣具有多態性 4、封裝:同樣具有封裝性 3、實例化:不能被實例化 5、函數:因有抽象函數才有抽象類,抽象類中可以有普通函數抽象函數不能實現邏輯。而普通函數可以例:abstract public function eat($food); ![](https://img.kancloud.cn/1a/b6/1ab687b5d23309fd0a07bbe6bbbebb96_800x340.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看