成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

include加載路徑解析 - 你可能不知道的特性

betacat / 1002人閱讀

摘要:官網(wǎng)關(guān)于加載路徑解釋如下被包含文件先按參數(shù)給出的路徑尋找,如果沒有給出目錄只有文件名時則按照指定的目錄尋找。如果最后仍未找到文件則結(jié)構(gòu)會發(fā)出一條警告這一點和不同,后者會發(fā)出一個致命錯誤。

官網(wǎng)關(guān)于include加載路徑解釋如下:

被包含文件先按參數(shù)給出的路徑尋找,如果沒有給出目錄(只有文件名)時則按照 include_path 指定的目錄尋找。如果在 include_path 下沒找到該文件則 include 最后才在調(diào)用腳本文件所在的目錄當前工作目錄下尋找。如果最后仍未找到文件則 include 結(jié)構(gòu)會發(fā)出一條警告;這一點和 require 不同,后者會發(fā)出一個致命錯誤。

include_path

這是一個需要在php.ini中設(shè)置的值,一般情況下我們不會輕易設(shè)置它

腳本文件所在的目錄

顧名思義就是當前php文件所在的目錄的路徑

當前工作目錄

這個值是容易混淆的,因為這個所謂的當前工作目錄路徑其實和文件是否被include有關(guān)系!這一點在框架中更容易被混淆、被忽略!

實例說明

文件目錄結(jié)構(gòu)如下:

- require
-- app
--- application.php
--- db.php
-- index.php
-- db2.php
index.php中的代碼

application.php

你猜運行index.php后的顯示的打印結(jié)果是什么?

你是不是認為 $config2 = include "db2.php"; 會報錯?

然而結(jié)果是這樣的

Array
(
    [host] => 127.0.0.1
    [username] => root
    [password] => root
)
Array
(
    [host] => 127.0.0.1
    [username] => root2
    [password] => root2
)


__FILE__:E:dongchaoprojects	estphp
equireappapplication.php
__DIR__:E:dongchaoprojects	estphp
equireapp
Working Dir:E:dongchaoprojects	estphp
equire

正如官網(wǎng)所述,include會嘗試在當前腳本所在目錄和當前工作目錄查找文件是否存在。db.php所在的目錄正是當前腳本所在目錄,而當前工作目錄則是index.php所在的目錄,如果把這個看成是一個框架的目錄結(jié)構(gòu),那么當前工作目錄其實就是框架入口文件所在的目錄。

getcwd函數(shù)可以獲取到當前工作目錄路徑

得出結(jié)論:

為了不引起混淆,提高代碼可讀性,建議引入文件時使用絕對路徑! 使用絕對路徑還可以避免include函數(shù)多余的兩次查找(從當前腳本所在目錄和當前工作目錄進行查找),因此使用絕對路徑能提高執(zhí)行效率!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/26070.html

相關(guān)文章

  • Spring Boot 參考指南(開發(fā)者工具)

    摘要:觸發(fā)器文件可以手動更新,也可以使用插件進行更新。例如,要配置重新啟動以始終使用觸發(fā)器文件,你需要添加以下屬性遠程應(yīng)用程序開發(fā)工具并不局限于本地開發(fā),在遠程運行應(yīng)用程序時,還可以使用幾個特性。 20. 開發(fā)者工具 Spring Boot包括一組額外的工具,這些工具可以使應(yīng)用程序開發(fā)體驗變得更加愉快,spring-boot-devtools模塊可以包含在任何項目中,以提供額外的develo...

    APICloud 評論0 收藏0
  • PHP自動加載功能原理解析

    摘要:前言在開始之前,歡迎關(guān)注我自己的博客這篇文章是對自動加載功能的一個總結(jié),內(nèi)容涉及的自動加載功能的命名空間的與標準等內(nèi)容。要實現(xiàn)第一步,第二步的功能,必須在開發(fā)時約定類名與磁盤文件的映射方法,只有這樣我們才能根據(jù)類名找到它對應(yīng)的磁盤文件。 前言 在開始之前,歡迎關(guān)注我自己的博客:www.leoyang90.cn 這篇文章是對PHP自動加載功能的一個總結(jié),內(nèi)容涉及PHP的自動加載功能、P...

    Imfan 評論0 收藏0
  • webpack4.0打包總結(jié)

    摘要:我們可以使用內(nèi)置的為所有的依賴定義這個變量這是開發(fā)環(huán)境這是生產(chǎn)環(huán)境作者正兒八經(jīng)的嬌嬌鏈接來源掘金著作權(quán)歸作者所有。 1.webpack概念 WebPack可以看做是模塊打包機:它做的事情是,分析你的項目結(jié)構(gòu),找到JavaScript模塊以及其它的一些瀏覽器不能直接運行的拓展語言(Scss,TypeScript等),并將其打包為合適的格式以供瀏覽器使用。 構(gòu)建就是把源代碼轉(zhuǎn)換成發(fā)布到線上...

    XFLY 評論0 收藏0
  • 從0到1搭建webpack2+vue2自定義模板詳細教程

    摘要:安裝安裝完成之后,你應(yīng)該可以使用了,方式如下上述命令應(yīng)該自動在瀏覽器中打開。 前言 webpack2和vue2已經(jīng)不是新鮮東西了,滿大街的文章在講解webpack和vue,但是很多內(nèi)容寫的不是很詳細,對于很多個性化配置還是需要自己過一遍文檔。Vue官方提供了多個vue-templates,基于vue-cli用官方的webpack模板居多,不過對于很多人來說,官方的webpack模板的配...

    cartoon 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<