require 和 include 的區別

              作者:辰風沐陽 閱讀:2344 發布時間:2020-09-10 上次更新:2023-02-28

              1. require 和 include


              官方手冊

              共同點

              1. 作用相同:都可以用于包含并運行指定文件

              2. 都是語句,而不是函數:require 和 include 都是一個語句(語言結構),而不是一個函數

              1. // 判斷是不是函數 返回布爾值 true 是函數 false 不是函數
              2. var_dump(function_exists('require'));
              3. var_dump(function_exists('include'));
              4. // 雖然可以這么寫,但是不推薦
              5. require('2.php');
              6. include('2.php');

              不同點

              require 需要;依靠;依賴;

              include 包括;包含;使成為…的一部分

              從單詞翻譯來看,require引入文件的語義更強。

              require 引入的文件不存在會報致命錯誤,程序終止運行,而 include 引入的文件不存在會報警告錯誤,程序會繼續執行

              2. require 和 include 區別詳解


              require 語句通常放在PHP腳本程序的最前面,如果有命名空間就放命名空間下面

              例如:引入composer的自動加載文件用require語句更合適

              1. <?php
              2. namespace liang;
              3. require 'vendor/autoload.php';
              4. // ......

              執行順序(加載順序)

              require 在一開始就加載,也就是代碼編譯后,程序執行前中間的這段時間

              1. <?php
              2. echo 123;
              3. if (true) {
              4. require '4.php';
              5. }
              6. echo 456;
              1. // 結果證明require是在程序執行前加載的
              2. Warning: require(4.php): failed to open stream: No such file or directory in E:\www\1.php on line 6
              3. Fatal error: require(): Failed opening required '4.php' (include_path='.;C:\php\pear') in E:\www\1.php on line 6
              4. 123
              1. <?php
              2. echo 123;
              3. if (false) {
              4. require '4.php';
              5. }
              6. echo 456;
              1. 沒有報錯,證明編譯階段并沒有執行require語句
              2. 123456

              incluce 在用到時加載,也就是程序執行時加載,執行到了才加載

              _once 后綴表示已加載的不加載,也就是即使寫了兩次引入,也就引入一次

              參考文章


              https://blog.csdn.net/shenpengchao/article/details/52326233

              標簽: php

              夜夜嗨AV一区二区三区_91精品国产91久久久久_亚洲精品无码鲁网午夜_一本大道久久东京热