PHP基礎---檔案包含

qq_43192783發表於2020-09-23

檔案包含

檔案包含的作用
檔案包含的意義:
1、要麼使用被包含檔案中的內容,實現程式碼的共享(重用):向上包含(索要)
向上包含:在當前指令碼要用某個程式碼之前包含別的檔案
2、要麼自己有東西可以給別的檔案使用,實現程式碼的共享(重用):向下包含(給予)
向下包含:在自己有某個東西的時候,需要別的指令碼來顯示(自己程式碼寫完之後包含其他檔案)

最大的作用:分工協作,每個指令碼做的事情不一樣,因此可以使用協作方式,讓多個指令碼共同完成一件事

檔案包含的四種形式
四種形式(兩種大形勢)
include:包含檔案
include_once:系統會自動判斷檔案包含過程中,是否已經包含過(一個檔案最多被包含一次)
require:與include相同
require_once:與include_once相同

包含基本語法
include ‘檔名字’;
include(‘檔名字’); //檔名字:路徑問題在這裡插入圖片描述向上包含:是先包含檔案,後使用檔案中的內容

在這裡插入圖片描述向下包含:先準備內容,然後包含另外的檔案,在另外的檔案中,使用當前的內容

檔案載入的原理

PHP程式碼的執行流程
1、讀取程式碼檔案(PHP程式)
2、編譯:將PHP程式碼轉換成位元組碼(生成opcode)
3、zendengine來解析opcode,按照位元組碼去進行邏輯運算
4、轉換成對應的HTML程式碼

1、在檔案載入(include和require)的時候,系統會自動的將包含檔案中的程式碼相當於嵌入當前檔案中
2、載入位置:在哪載入的,對應的檔案中的程式碼嵌入的位置就是對應的include位置
3、在PHP中被包含的檔案是單獨進行編譯的
PHP檔案在編譯的過程中如果出現了語法錯誤,那麼會失敗(不會執行);但是如果被包含檔案有錯誤的時候,系統會在執行到包含include這句語句的時候才會報錯。

include和require區別
include系統會碰到一次,執行一次;如果對同一個檔案進行多次載入,那麼系統也會執行多次
include_once:系統碰到多次,也只會執行一次

include和require的區別:本質都是包含檔案,唯一的區別在於包含不到檔案的時候,報錯的形式不一樣
include的報錯級別比較輕:不會阻止程式碼的執行
require的報錯級別比較高:如果包含出錯程式碼不再執行require後面的程式碼

檔案載入路徑
檔案在載入的時候需要指定檔案路徑才能保證PHP正確的找到對應的檔案。
檔案的載入路徑包含兩大類:
1、絕對路徑
從磁碟的根目錄開始(本地絕對路徑)
Windows:碟符C:/路徑/PHP檔案
Linux:/路徑/PHP檔案
從網站根目錄開始(網站絕對路徑)
/:相對於網站主機名字對應的路徑
localhost/index.php ->E:/server/apache/htdocs/index.php
2、相對路徑
./:表示當前資料夾
…/:上級目錄(當前資料夾的上一層資料夾)

絕對路徑和相對路徑的載入區別
1、絕對路徑相對效率偏低,但是相對安全(路徑不會出錯)
2、相對路徑相對效率較高,但是容易出錯(相對路徑會出現改變)

檔案巢狀包含

巢狀包含的時候就很容易出現相對路徑出錯的問題:相對路徑會因為檔案的包含而改變(./和./):windows下面,每一個資料夾下都有.h和…d的資料夾在這裡插入圖片描述

舉個簡單的生活栗子:
張三 左邊是 李四,李四左邊是王五
張三把李四叫到自己的位置:李四和王五之間有兩個位置,李四如果還按照左邊伸手找王五就找不到。

相關文章