TP3.2之引入第三方類庫文件和普通.php文件

一、引入第三方類庫 .class.php文件php

 1.1 類庫有寫namespace命名空間函數

  1. namespace Org\Util;
  2. class Auth {
  3. }

保存到ThinkPHP/Library/Org/Util/Auth.class.php。(也就是說以Think、Org爲根命名空間的類均可以自動加載:)spa

在其餘Controller中,實例化:code

  1. new \Org\Util\Auth();

 1.2 手動加載第三方類庫對象

 若是要加載第三方類庫,包括不符合命名規範和後綴的類庫,以及沒有使用命名空間或者命名空間和路徑不一致的類庫,或者你就是想手動加載類庫文件,咱們均可以經過手動導入的方式加載。blog

 咱們能夠使用import方法導入任何類庫,用法如:ci

// 導入Org類庫包 Library/Org/Util/Date.class.php類庫
import("Org.Util.Date");
// 導入Home模塊下面的 Application/Home/Util/UserUtil.class.php類庫
import("Home.Util.UserUtil");
// 導入當前模塊下面的類庫 
import("@.Util.Array");
// 導入Vendor類庫包 Library/Vendor/Zend/Server.class.php
import('Vendor.Zend.Server');

對於import方法,系統會自動識別導入類庫文件的位置,ThinkPHP能夠自動識別的類庫包包括Think、Org、Com、Behavior和Vendor包,以及Library目錄下面的子目錄,若是你在Library目錄下面建立了一個Test子目錄,而且建立了一個UserTest.class.php類庫,那麼能夠這樣導入:io

import('Test.UserTest');

注意,若是你的類庫沒有使用命名空間定義的話,實例化的時候須要加上根命名空間,例如:function

 

public funcion index(){
import(
'Test.UserTest');
$test = new \UserTest();
}

 

三、手動加載第三方普通.php後綴的原生文件class

若是你的第三方類庫都放在Vendor目錄下面,而且都以.php爲類文件後綴,也沒用採用命名空間的話,那麼能夠使用系統內置的Vendor函數簡化導入。 例如,咱們把 Zend \ Filter\Dir.php 放到 Vendor 目錄下面,這個時候 Dir 文件的路徑就是 Vendor\Zend\Filter\Dir.php,咱們使用vendor 方法導入只須要使用:

public function index(){

    Vendor('Zend.Filter.Dir');

    $obj = new \Dir();

}

 另外:若是你的文件是a.b.php(b不是class)的話,也能夠這樣導入:

Vendor('目錄.a#b');

實例化對象時候,以class ab {...}示例:new \ab();

 四、手動加載.php後綴且面向過程的文件

  什麼叫面向過程,就是文件裏面沒有class aaa{} , 不用實例化操做,直接使用。

咱們能夠使用原生的語法:

在控制器的方法裏面使用:

include_once ‘./ThinkPHP/Library/Vendor/lib/aaa.bbb.php’;

這樣就完美的引入了一些原生面向過程的.php文件。

相關文章
相關標籤/搜索