溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP文件包含的概念是什么

發(fā)布時(shí)間:2022-04-19 10:11:19 來(lái)源:億速云 閱讀:130 作者:zzz 欄目:編程語(yǔ)言

這篇文章主要介紹了PHP文件包含的概念是什么的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇PHP文件包含的概念是什么文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

PHP文件包含的概念是什么

一、文件包含的概念

 在一個(gè)PHP腳本中,去將另外一個(gè)文件(PHP)包含進(jìn)來(lái),去合作完成一件事情。


二、文件包含的作用

  • 要么使用被包含文件中的內(nèi)容,實(shí)現(xiàn)代碼的共享(重用):向上包含(索要)向上包含:在當(dāng)前腳本要用某個(gè)代碼之前包含別的文件

  • 要么自己有東西可以給別的文件使用,實(shí)現(xiàn)代碼的共享(重用):向下包含(給予)向下包含:在自己有某個(gè)東西的時(shí)候,需要?jiǎng)e的腳本來(lái)顯示(自己代碼寫完之后包含其他文件)

最大的作用:分工協(xié)作,每個(gè)腳本做的事情不一樣,因此可以使用協(xié)作方式,讓多個(gè)腳本共同完成一件事情。


三、文件包含的四種形式

  • Include:包含文件

  • Include_once:系統(tǒng)會(huì)自動(dòng)判斷文件包含過(guò)程中,是否已經(jīng)包含過(guò)(一個(gè)文件最多被包含一次)

  • Require:與include相同

  • Require_once:以include_once相同

(一)向上包含——先包含文件,后使用文件中的內(nèi)容

被包含文件代碼

<h4>文件包含——被包含文件</h4>
<?php
	header("Content-type:text/html;charset=gbk");
	$a = 2;$b = 4;
	define("xiaofeng",'cool');

包含文件代碼

<h4>文件包含——包含文件</h4>
<?php
	header("Content-type:text/html;charset=gbk");
	include "56.php";//包含文件56.php
	echo $a,"<hr>",$b,"<hr>",xiaofeng;

PHP文件包含的概念是什么

(二)向下包含——先準(zhǔn)備內(nèi)容,然后包含另外文件,在另外的文件中,使用當(dāng)前的內(nèi)容。

被包含文件代碼

<h4>文件包含——被包含文件</h4>
<?php
	header("Content-type:text/html;charset=gbk");
	echo $a,"<hr>",$b,"<hr>",xiaofeng;//輸出數(shù)據(jù)

包含文件代碼

<h4>文件包含——包含文件</h4>
<?php
	header("Content-type:text/html;charset=gbk");
	$a = 2;$b = 4;
	define("xiaofeng",'cool');//定義數(shù)據(jù)
	include_once '59.php';//包含數(shù)據(jù)為了顯示以上的內(nèi)容

PHP文件包含的概念是什么


四、文件加載原理

(一)PHP代碼的執(zhí)行流程

  1. 讀取代碼文件(PHP程序)

  2. 編譯:將PHP代碼轉(zhuǎn)換成字節(jié)碼(生成opcode)

  3. zendengine來(lái)解析opcode,按照字節(jié)碼去進(jìn)行邏輯運(yùn)算

  4. 轉(zhuǎn)換成對(duì)應(yīng)的HTML代碼

(二)文件加載原理

  • 在文件加載(include或者require)的時(shí)候,系統(tǒng)會(huì)自動(dòng)的將被包含文件中的代碼相當(dāng)于嵌入到當(dāng)前文件中

  • 加載位置:在哪加載,對(duì)應(yīng)的文件中的代碼嵌入的位置就是對(duì)應(yīng)的include位置

  • 在PHP中被包含的文件是單獨(dú)進(jìn)行編譯的

注意:PHP文件在編譯的過(guò)程中如果出現(xiàn)了語(yǔ)法錯(cuò)誤,那么會(huì)失敗(不會(huì)執(zhí)行);但是如果被包含文件有錯(cuò)誤的時(shí)候,系統(tǒng)會(huì)在執(zhí)行到包含include這條語(yǔ)句的時(shí)候才會(huì)報(bào)錯(cuò)。

(三)文件加載路徑

文件在加載的時(shí)候需要指定文件路徑才能保證PHP正確的找到對(duì)應(yīng)的文件。

1.絕對(duì)路徑:從磁盤的根目錄開始(本地絕對(duì)路徑)

  • Windows:盤符C:/路徑/PHP文件

  • Linux:/路徑/PHP文件

  • 從網(wǎng)站根目錄開始(網(wǎng)絡(luò)絕對(duì)路徑)

  • /:相對(duì)于網(wǎng)站主機(jī)名字對(duì)應(yīng)的路徑

  • Localhost/index.php -> E:/server/apache/htdocs/index.php

2.相對(duì)路徑 :從當(dāng)前文件所在目錄開始的路徑

  • ./:表示當(dāng)前文件夾

  • ../:上級(jí)目錄(當(dāng)前文件夾的上一層文件夾)

3.絕對(duì)路徑和相對(duì)路徑的加載區(qū)別

1、  絕對(duì)路徑相對(duì)效率偏低,但是相對(duì)安全(路徑不會(huì)出問(wèn)題)

2、  相對(duì)路徑相對(duì)效率高些,但是容易出錯(cuò)(相對(duì)路徑會(huì)發(fā)生改變)


五、文件嵌套包含

一個(gè)文件包含另外一個(gè)文件,同時(shí)被包含的文件又包含了另外一個(gè)文件。嵌套包含的時(shí)候就很容易出現(xiàn)相對(duì)路徑出錯(cuò)的問(wèn)題:相對(duì)路徑會(huì)因?yàn)槲募陌淖儯?/和../):windows下面,每一個(gè)文件夾下都有.和..的文件夾。

PHP文件包含的概念是什么


六、Include和require區(qū)別

(一)Include和include_once的區(qū)別:

  • Include系統(tǒng)會(huì)碰到一次,執(zhí)行一次;如果對(duì)統(tǒng)一個(gè)文件進(jìn)行多次加載,那么系統(tǒng)會(huì)執(zhí)行多次;

  • Include_once:系統(tǒng)碰到多次,也只會(huì)執(zhí)行一次。

(二)Require和include的區(qū)別

本質(zhì)都是包含文件,唯一的區(qū)別在于包含不到文件的時(shí)候,報(bào)錯(cuò)的形式不一樣

  • Include的錯(cuò)誤級(jí)別比較輕:不會(huì)阻止代碼執(zhí)行

  • Require要求較高:如果包含出錯(cuò)代碼不再執(zhí)行(require后面的代碼)

關(guān)于“PHP文件包含的概念是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“PHP文件包含的概念是什么”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI