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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                **一.opcodes作用** opcodes是一種php腳本編譯后的中間語言,就像java的bytecode,或者.net的msl &emsp; **二.原生php代碼** ``` <?php echo "Hello World"; $a = 1 + 1; echo $a; ?> ``` &emsp; **三.PHP執行這段代碼會經過如下4個步驟** ``` #PHP的語言引擎Zend 1.Scanning(Lexing) ,將PHP代碼轉換為語言片段(Tokens) 2.Parsing, 將Tokens轉換成簡單而有意義的表達式 3.Compilation, 將表達式編譯成Opocdes 4.Execution, 順次執行Opcodes,每次一條,從而實現PHP腳本的功能 ``` &emsp; **四.Scanning** ``` #用token_get_all處理以上PHP原生代碼 #index.php <?php $str='<?php echo "Hello World"; $a = 1 + 1; echo $a; ?>'; $arr=$tokens=token_get_all($str); echo "<pre>"; print_r($arr); echo "</pre>"; ?> ``` ``` Array ( [0] => Array ( [0] => 367 [1] => Array ( [0] => 316 [1] => echo ) [2] => Array ( [0] => 370 [1] => ) [3] => Array ( [0] => 315 [1] => "Hello World" ) [4] => ; [5] => Array ( [0] => 370 [1] => ) [6] => = [7] => Array ( [0] => 370 [1] => ) [8] => Array ( [0] => 305 [1] => 1 ) [9] => Array ( [0] => 370 [1] => ) [10] => + [11] => Array ( [0] => 370 [1] => ) [12] => Array ( [0] => 305 [1] => 1 ) [13] => ; [14] => Array ( [0] => 370 [1] => ) [15] => Array ( [0] => 316 [1] => echo ) [16] => Array ( [0] => 370 [1] => ) [17] => ; ) ``` &emsp; 2.Parsing #接下來,就是Parsing階段了,Parsing首先會丟棄Tokens Array中的多余的空格,將剩下的轉成一個一個的簡單的表達式 ``` 1.echo a constant string 2.add two numbers together 3.store the result of the prior expression to a variable 4.echo a variable ``` &emsp; 3.Compilation ``` #它會把Tokens編譯成一個個op_array * ZEND_ECHO 'Hello World' * ZEND_ADD ~0 1 1 * ZEND_ASSIGN !0 ~0 * ZEND_ECHO !0 > > ``` 4.由Zend引擎一行一行讀取并執行. &emsp; ###**系統的學習PHP** 關注:PHP自學中心,回復相應的關鍵詞,領取以下視頻教程 **9 PHP異步通信框架Swoole實戰** 公眾號里回復:08250024 &emsp; #### **還有其他的教程的關鍵詞,請關注公眾號查看每天分享的文章教程的頭部** ![](https://img.kancloud.cn/96/af/96af322d2cdc53d3fbbe981affa60c7f_150x150.jpg)
                  <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>

                              哎呀哎呀视频在线观看