簡體   English   中英

PHP,如何設置包含路徑

[英]PHP, How to set include path

我一直在寫:

include('a.php')
include('b.php')

等在我的腳本中包含使用函數a()b() 它變得相當乏味。 有沒有辦法設置目錄的路徑並讓腳本可以訪問多個文件?

  1. 我在我的腳本中試過這個:

     set_include_path('.;C:\xampp\htdocs\myfunctionfolder');
  2. 我設置了一個環境變量 PATH 讓它在那里更舊。

  3. 我還在修改 php.ini 以包括

    include_path = ".;\xampp\php\PEAR;\xampp\htdocs\myfunctionfolder"

如果我有很多文件,我如何訪問這些文件而不必單獨包含每個文件? 設置環境變量絕對可以在命令提示符下工作。

我是否需要為.php 文件做其他事情才能在目錄下集體訪問?

通常的做法是有一個包含include / include_once調用的“common.php”或“includes.php”文件(為了簡單起見)。 例如

  • [庫]
    • a.php
    • b.php
    • 包括。php
  • index.php

然后包括。php 包含:

<?php
  include_once('a.php');
  include_once('b.php');
?>

然后在任何腳本中都包含includes.php文件。

但是,要回答您的原始問題,每次通話一次只能包含一個文件。 您可以使用諸如opendirreaddir之類的東西來遍歷特定目錄中的所有文件,並將它們包含在找到的位置(自動可以這么說),或者根據您正在創建的文件自己寫出每個包含。

此外,所有設置包含路徑所做的都是設置一個目錄,以便在進行include調用時查看。 它不是應該自動加載文件的目錄(這是我從您的帖子中得到的印象)。

設置include_path不會包含該目錄中的每個文件,它只會將該目錄添加到 PHP 在包含文件時將搜索的列表中。

指定 require()、include()、fopen()、file()、readfile() 和 file_get_contents() 函數查找文件的目錄列表。

資源

這將簡化將文件包含在深層結構或文件系統的完全不同部分中。

include('/var/somewhere/else/foo.php');

隨着/var/somewhere/else/添加到 php.ini include_path 可能成為

include('foo.php');

此外,正如其他人指出的那樣,有一些常見的做法,但您可以查看 OOPHP 和自動加載類 這不適用於我知道的功能。

許多編寫面向對象應用程序的開發人員為每個類定義創建一個 PHP 源文件。 最大的煩惱之一是必須在每個腳本的開頭寫一長串所需的內容(每個類一個)。

在 PHP 5 中,這不再是必需的。 您可以定義一個 __autoload function ,如果您嘗試使用尚未定義的類/接口,則會自動調用它。 通過調用此 function,腳本引擎有最后機會在 PHP 失敗並出現錯誤之前加載 class。

看到這個問題:

如何包含()目錄中的所有 PHP 文件?

此外,就最佳實踐而言,如果它們完全相關,您可以在同一個文件中包含多個函數,我還建議您的函數和文件具有更具描述性的名稱。 例如,如果您的 a() 和 b() 函數都與驗證相關,則將文件命名為 validation.php 並將這兩個函數放在那里並嘗試將它們重命名為與它們所做的相關的名稱。 這將使您在開始堆積大量功能時記住它們的作用;)

PHP 的解析器非常高效 - 您將浪費更多時間加載大量單獨的文件,而不是一個(或幾個)更多的單一文件。 但是,如果您堅持這樣隔離,您可以創建元包含文件來加載單個文件集,因此您只需包含一個元包含文件,它會為您執行 rest:

元.php:

include('a.php');
include('p.php');
...
include('z.php');

然后您只需執行以下操作:

<?php

include('meta.php');

在您的腳本中,您已經為您加載了所有單獨的腳本。

在我的大多數項目中,我都有這樣的 function:

function appendToIncludePath($path)
{
    ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . BASE_DIR . $path . DIRECTORY_SEPARATOR);
}
include __DIR__ . '/../folder1/folder2/folder3/Target.php';
include __DIR__ . '/../folder1/folder2/Target.php';

它可以幫助您 go 到任何路徑。

Download latest PHP zip and extract to C drive then download composer and install it, during installation it ask for PHP path so just select extracted PHP path.

按照以下步驟。

  1. Go 到Computer

  2. Select Advance System Settings

  3. 來自系統屬性 select Environmental Varaibles
  4. Environmental Varaibles變量中,在 PCNAME 的用戶變量中添加Path
  5. Environmental Varaibles變量中,在系統變量中添加Path
  6. 點擊確定。
  7. 重啟電腦。
  8. 贏 + R 類型cmd
  9. 鍵入命令php -v
  10. Vola 你對 go 好。

PHP http://php.net/downloads.php

作曲家https://getcomposer.org/download/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM