国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

betacat / 993人閱讀

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

官網關于include加載路徑解釋如下:

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

include_path

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

腳本文件所在的目錄

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

當前工作目錄

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

實例說明

文件目錄結構如下:

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

application.php

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

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

然而結果是這樣的

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

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

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

得出結論:

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26070.html

相關文章

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

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

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

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

    Imfan 評論0 收藏0
  • webpack4.0打包總結

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

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

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

    cartoon 評論0 收藏0

發表評論

0條評論

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