<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>

                1、框架底層原理 1.1、類庫的自動加載 ``` Php的標準類庫 spl_autoload_register composer的加載(PSR-4) 自定義任何目錄的加載: psr-4規則里定義目錄以后(composer dumpautoload) ``` 1.2、基本功能的加載(facade) ``` 門面模式 ``` 1.3、服務的加載(ioc容器) ``` 請大家閱讀laravel的源代碼,服務的注冊、監聽、通信是基于什么設計模式實現。 ``` 2、PHP相關知識 2.1、網絡協議 ``` OSI七層模型 第一層:物理層 第二層:數據鏈路層 第三層:網絡層 第四層:傳輸層 定義傳輸數據的協議端口號以及流控和差錯校驗 協議:TCP/UDP,數據包一旦離開網卡即將進入網絡傳輸層 第五層:會話層層 第六層:表示層 第七層:應用層:網絡服務與最終用戶的一個接口 ``` 協議: ``` HTTP:80 HTTPS:443 FTP(21)-文件傳輸 SMTP(25) 郵件發送 SNMP DNS (53)域名解析 TELNET(23) 遠程登錄 POPS(110) 郵件接收 DHCP ``` HTTP協議的特點: ``` 無狀態 基于B/S模式 通信開銷小、簡單快速、傳輸成本低 使用靈活、可使用超文本傳輸協議 節約傳輸時間 ``` HTTP協議狀態碼: ``` 標記返回請求結果,知道服務器是否可用正常處理請求 1XX 信息類 2XX 200正常返回數據 204已成功處理,不含實體 206部分內容 3XX 301永久重定向 302臨時重定向 303定向獲取 304附加條件的請求 307臨時重定向 4XX 客戶端錯誤 400存在語法錯誤 401 需要通過HTTP認證403 服務器拒絕404 服務器無法請求 5XX 服務器錯誤 500 執行請求發送錯誤 503 超負載運行,無法響應 ``` GET/POST的請求區別 ``` GET 安全差 POST GET 2048 url地址的最大長度 POST 沒有限制 GET ascII POST 二進制數據等 GET 請求內容-application-x-www-form-urlencoded POST multipart-formdata GET 不會重新提交 POST 刷新瀏覽器數據被重新提交 GET 瀏覽器緩存 POST 不能緩存 GET 參數會自動 POST 不會保存(寫隱藏表單) GET 收藏書簽 POST 不能收藏 ``` 常見請求/響應頭/請求方法 ``` content-type:請求實體的mime類型信息 Accept:客戶端接收內容的類型 Cookie:發送給服務端的cookie值 Cache-control:指定請求和響應的緩存機制 User-agent:用戶信息 Referrer:上級請求的路徑 X-Forward-For:請求端的真實IP Access-Control-Allow-origin 允許特定的域名使用(跨域請求) Last-modified:請求資源的最后響應時間 ``` HTTP的工作原理: ``` 客戶端發送請求給服務器,創建一個TCP連接,指定端口號,連接到服務器,服務器監聽到瀏覽器請求,分析請求類型后,服務器根據客戶端的請求類型返回狀態信息和數據內容。 ``` HTTP協議的工作原理: ``` GET、-讀取數據 POST、提交數據請求服務器進行處理 HEAD、指定資源的請求(只返回頭信息) OPTIONS、查看服務器性能(功能是否正常) PUT、上傳最新內容(修改) DELETE、刪除指定的資源 TRACE、測試用,請求服務器回顯收到的信息 ``` HTTPS協議的工作原理: ``` HTTPS是一種基于SSL/TLS的HTTP協議,所有的HTTP數據都是在SSL/TLS協議封裝之上傳輸的 在HTTP協議的基礎上添加了SSL/TLS的握手以及數據的加密傳輸 ``` 2.2 PHP基礎知識 ``` 2.2.1、PHP引用變量 概念:用不同的名字訪問同一個內容 定義方式:使用&符號 Unset() 斷開變量的引用,不會銷售內存空間 Object 引用類型的變量對象 堆棧中的內存分析: ``` 測試:memory_get_usage() 已經使用的內存 2.2.2、數據類型 ``` 字符串:單引號、雙引號、heredoc和newdoc(處理長文本) 雙引號:可以解析變量,可以使用特殊符號{}包含,可以解析轉義字符 單引號效率更高 Heredoc 中間的變量可以解析 $str = <<<Eot Eot Newdoc 中間的變量不能解析 $str = <<<’Eot’ ‘Eot’ ``` 布爾類型flase的七種情況 ``` 0 0.0 ‘’ ‘0’ false array() null 浮點類型:不能用于算術運算(轉二進制會有損耗) 數組類型: 超全局數組 $GLOBALS $_GET $_POST $_REQUEST $_COOKIE $_SERVER $_FILES $_ENV $_SERVER[‘QUERY_STRING’] ?后面的參數 $_SERVER[‘PATH_INFO’] 路徑部分 $_SERVER[‘SERVER_ADDR] 服務器地址 $_SERVER[‘REMOT_ADDR] 客戶端IP $_SERVER[‘REFFERER] 上一次請求 $_SERVER[‘SERVER_NAME’] $_SERVER[‘REQUEST_TIME’] $_SERVER[‘HTTP_USER_AGENT’] ``` 2.2.3預定義常量 ``` __FILE__ __LINE__ __DIR__ __FUNCTION__ __CLASS__ __TRAIT__ __METHOD__ __NAMESPACE__ Const 語言結構、定義類常量、速度快 define 函數、不能定義類常量 ``` 出現NULL的三種情況 ``` 直接申明、未定義的變量、UNSET銷毀的變量 ``` 2.2.4運算符優先級 ``` 遞增、遞減 > ! > 數學運算符 > 比較運算符(大小比較) > 相等比較 > 邏輯運算符 > 三目運算 > 賦值運算 短路原則:如果該表達式的結果在第一個子表達式就已經能夠決定結果,后面的子表達式不會再執行 ==和===的區別 前置遞增和后置遞增的區別? 先運算后返回,先返回后運算 Null的遞增和遞減 Null 遞減 沒有效果 Null 遞增 結果為1 ``` 2.2.5 流程控制 ``` 遍歷數組的三種方式: 數組遍歷一:for while 只能遍歷索引數組 數組遍歷二:foreach 遍歷索引數組和關聯數組 每次都會執行reset(數組指針的重置) 數組遍歷三: while list each 組合循環 遍歷索引數組和關聯數組 不會執行reset()操作 If語句和switch...case語句的區別 If...elseif 只會有一個語句塊被執行,最多條件情況出現的條件放在前面 Switch...case switch后面的控制表達式只能是整型、浮點型、字符串 生成索引表,直接跳轉到相對應的case For() { Switch( $condition ) { Case ...; Continue; //continue 1 continue 2跳出for循環 Break; //跳出switch語句 } } ```
                  <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>

                              哎呀哎呀视频在线观看