php函數import(PHP函數名)

  • 1、Thinkphp中import;是什麼意思
  • 2、php中import什麼意思
  • 3、thinkphp import 導入文件怎麼使用

import方法是ThinkPHP框架用於類庫導入的封裝實現,尤其對於項目類庫、擴展類庫和第三方類庫的導入支持,import方法早期的版本可以和java的import方法一樣導入目錄和通配符導入,後來考慮到性能問題,在後續的版本更新中不斷改進和簡化了,所以現在的用法比較簡單明了。調用格式:

import(‘類庫名’, ‘起始路徑’, ‘類庫後綴’)

imprt方法有一個別名vendor方法,專門用於導入第三方類庫,區別在於起始路徑和類庫後綴默認值不同。

我們來分析下具體的用法:

導入系統基類庫

系統基類庫其實就是指的Think類庫包,所在目錄就是指框架的核心Lib目錄,import方法可以用於導入系統基類庫,例如:

import(‘Think.Util.Array’);

複製代碼

表示導入系統目錄下面的Lib/Util/Array.class.php 類庫文件,相當於我們這樣使用

require THINK_PATH.’Lib/Util/Array.class.php’;

複製代碼

可以支持多級目錄,例如:

import(‘Think.Util.U1.ClassA’);

複製代碼

import(‘Think.Util.U1.A2.ClassB’);

傳值:

函數參數壓棧的是參數的副本。

任何的修改是在副本上作用,沒有作用在原來的變數上。

function test($i){$i++;}

$a=1;

$b=test($a)

echo $a; //輸出還是原來的 1

傳引用:

壓棧的是引用的副本。由於引用是指向某個變數的,對引用的操作其實就是對他指向的變數的操作。

function test($i){$i++;}

$a=1;

$b=test($a)

echo $a; //在函數中已被改變,輸出變為 2

關於引用的解釋請參數PHP手冊-語言參考-引用的解釋

1,ThinkPHP import 方法

ThinkPHP 模擬了 Java 的類庫導入機制,統一採用 import 方法進行類文件的載入。import 方法是 ThinkPHP 內建的類庫和文件導入方法,提供了方便和靈活的文件導入機制,完全可以替代 PHP 的 require 和 include 方法。

但對於第三方類庫,我們建議使用 vendor 方法來導入。

2,import 語法:

boolen import(class, baseUrl, ext)

參數說明:

參數

說明

class 必須,表示要導入的類庫,採用命名空間的方式。

baseUrl 可選,表示導入的基礎路徑,省略的話系統採用默認的規則,具體見下文。

ext 可選,表示導入的類庫後綴,默認是 .class.php 。

import 方法是 ThinkPHP 內置的一個普通函數,可以在模塊操作內自由使用,可以參考 PHP include 和 require 的用法。

import 類庫導入例子

導入 ThinkPHP 基類庫文件

import 方法導入 ThinkPHP 基類庫文件,約定導入 Think、ORG、Com 包以 ThinkPHP 系統基類庫為相對起始目錄:

// 導入 ThinkPHP系統目錄/Lib/Think/Util/Session.class.php 文件

import(“Think.Util.Session”);

// 導入 ThinkPHP系統目錄/Lib/ORG/Util/Page.class.php 文件

import(“ORG.Util.Page”);

導入項目應用類庫文件

// 導入 MyApp項目 Lib/Action/UserAction.class.php 文件

import(“MyApp.Action.UserAction”);

// 導入 MyApp項目 Lib/ORG/Page.class.php 文件

import(“MyApp.ORG.Page”);

// 導入 MyApp項目 Lib/ORG/My/Image.class.php 文件

import(“MyApp.ORG.My.Image”);

如果是當前項目,可以簡化為:

import(“@.Action.UserAction”);

import(“@.ORG.Page”);

import(“@.ORG.My.Image”);

這種寫法有利於項目的移植。如果是導入其他項目的類庫,必須指定項目名稱:

import(“OtherApp.Action.UserAction”);

注意:使用這種方式導入其他項目的類庫時,必須保證兩個項目的目錄是平級的,否則需要指定 baseUrl 參數。

指定 baseUrl 參數

對於以上導入系統類庫和項目類庫的情況,import 方法會自動識別類庫導入的路徑,其他情況就需要指定 baseUrl 參數。如導入當前文件所在目錄下的 My.class.php 文件:

import(“My”,dirname(__FILE__));

指定 ext 參數

ext 參數表示導入的類庫後綴,默認是 .class.php。如果導入的文件不是 *.class.php 格式的,可以指定 ext 參數。如導入當前文件所在目錄下的 My.php 文件:

import(“My”,dirname(__FILE__),”.php”);

. 符號文件導入

在 import 方法中,. 符號是用於表示目錄層次的,如果需要導入的文件名包含有 . 符號,如 User.Info.class.php ,那麼需要以 # 號來代替 . 號:

import(“@.Action.User#Info”);

別名導入

如果在別名定義文件定義了別名:

‘AdvModel’ = THINK_PATH.’/Lib/Think/Core/Model/AdvModel.class.php’,

可以使用 import 方法以別名的方式導入對應的類庫文件:

import(‘AdvModel’);

系統默認的別名定義文件位於 ThinkPHP 系統目錄下的 Commonalias.php,也可以定義項目自己的別名文件。

其他說明

同名文件導入衝突

import 方法具有緩存和檢測機制,相同的文件不會重複導入,如果發現導入了不同的位置下面的同名類庫文件,系統會提示衝突,例如:

import(“Think.Util.Array”);

import(“App.Util.Array”);

上面的情況導入會產生引入兩個同名的 Array.class.php 類,即使實際上的類名可能不存在衝突,但是按照 ThinkPHP 命名規範,類名和文件名是一致的,所以系統會拋出類名衝突的異常,並終止執行。

什麼時候需要使用 import 方法?

import 方法用於導入當前需要而 ThinkPHP 又不能自動載入的文件,如系統基類 ORG 與 Com 目錄下的擴展基類,自己的類庫等。至於第三方類庫,也可以使用 import 方法導入,但建議使用 vendor 方法導入。

import 方法與 import 標籤的區別

import 方法用於模塊操作中導入不能自動載入的文件類庫,import 標籤用於在模板中導入外部 Js 和 CSS 文件。

import 方法與 PHP6 import

在未來的 PHP6 版本中開始支持命名空間和 import 關鍵字,因此可以預見,ThinkPHP 可能會對 import 方法加以改寫。

原創文章,作者:K9HL9,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126902.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
K9HL9的頭像K9HL9
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:13

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 單片機列印函數

    單片機列印是指通過串口或並口將一些數據列印到終端設備上。在單片機應用中,列印非常重要。正確的列印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的列印數據可以幫助我們快速…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29
  • 分段函數Python

    本文將從以下幾個方面詳細闡述Python中的分段函數,包括函數基本定義、調用示例、圖像繪製、函數優化和應用實例。 一、函數基本定義 分段函數又稱為條件函數,指一條直線段或曲線段,由…

    編程 2025-04-29

發表回復

登錄後才能評論