php使用類庫
① thinkphp import 導入文件怎麼使用
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 方法加以改寫。
② ThinkPHP怎麼引入PHP-FFMpeg這個第三方類庫
1,在Vendor下新建一個FFMpeg文件夾
2,把PHP-FFMpeg里的文件(需要去除頭部require_once)都放置到FFMpeg下
3,TP引入方式:Vendor('FFMpeg.核心文件名');
③ 如何在PHP擴展中引用第三方的C++類庫
首先,要到了Query歸一化的C++版本源代碼。
query歸一化
引用第三方的類庫有兩種方法,一種是靜態引用,一種是動態引用,推薦使用靜態引用,因為靜態引用的情況下,會把類庫打包到php的擴展.SO文件中,這樣我們不必擔心依賴關系,帶著類庫到處跑了。
先用gcc產生.o文件,再用.o產生 最終的靜態庫 .a 文件
gcc -c -fpic queryword.cpp tradmap.cpp transcode.cpp -I . -O2
ar -r libqueryword.a queryword.o tradmap.o transcode.o
④ PHP生成PDF,用什麼類庫好
FPDF
FPDF 這個PHP Class允許你採用純PHP(更確切地說就是不需要使用PDFlib)來生成PDF文件。它所具有的特點包括:可選擇的unit大小,頁面格式和頁邊 距;頁眉和頁腳管理;自動分頁;自動換行與文本自動對齊;支持JPEG與PNG圖片格式;支持著色和文件超鏈接;支持TrueType,Type1與 encoding;支持頁面壓縮。
HTML2PDF
HTML2PDF能夠把一個HTML文本轉換成一個列印機友好的PDF文件。這個PHP腳本構建在FPDF PHP腳本之上。
TCPDF
TCPDF是一個用於快速生成PDF文件的PHP5函數包。TCPDF基於FPDF進行擴展和改進。支持UTF-8,Unicode,HTML和 XHTML。
html2ps
html2ps 能夠把帶有圖片,復雜表格(包含rowspan/colspan) ,layer/div和css樣式的HTML轉換成Postscript與PDF。 html2ps對CSS2.1支持非常好,並且很好地兼容不正確的HMTL。它甚至能夠轉換幾乎是採用CSS設計的網站如msn.com。
HTML_ToPDF
HTML_ToPDF能夠把任何HTML文檔轉換成在任何平台和列印機下界面格式都一樣的PDF文檔。它包括支持圖片轉換,使用樣式表來定製PDF 文件和錯誤處理。
cPdfWriter
cPdfWriter是一個能夠輸出PDF文檔的PHP5 class。基於TCPDF,FPDF和其它相關腳本。
dompdf
dompdf是一個HTML到PDF的轉換工具。它的核心是一個遵循大部份CSS2.1樣式的Rendering引擎。dompdf採用樣式驅動, 它能夠下載並讀取外部樣式,整個樣式標簽和單個HTML元素的樣式屬性。它同樣支持目當大部份HTML屬性。
⑤ php中函數庫和類庫到底有什麼區別
首先你要知道什麼是函數,比如這一個
is_mail($str){//判斷的內容}
假如這個is_mail可以用來判斷用戶提交的數據是否是email格式的,這就是一個功能。判斷is_mail的功能。
使用的時候只要
if(is_mail($str))
{}
else
{}
函數庫
就是很多函數的集合。有很多功能,你就不用自己重新寫了,直接使用就可以。
而類庫,你要先理解類。
類,你可以理解為函數根據實際需求分類存放的一個地方。因為如果項目很大,就會有很多函數,如果不分類,有時候就很難找到了。根據函數的功能,把一類函數都整合到一個類裡面,使用起來就很方便。
比如資料庫操作類。
所有資料庫操作的函數都放在裡面了,你只要調用就可以了。
$db = new data();
$db->qurey();//使用$db類的qurey方法,其實就是使用qurey這個函數。
而類庫,就是很多可以直接使用的類。
總而言之,函數庫和類庫,可以大大提升開發效率。
⑥ PHP如何用調用C#編寫的DLL
1.創建一個 C# Class Library ,命名為:HelloWorld
2.打開項目的屬性,在點選左邊的 "Application"(就是第一個tab) , 然後點擊Assembly Information 按鈕 ,在彈出的Dialog中, 必須在底部勾上: Make assembly COM-visible !否則 , 這個dll將不能以COM方式訪問 .( 也可以在代碼中的類聲明中寫上[ComVisible(true)] , 效果一樣,需要增加using System.Runtime.InteropServices;引用)