真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php數(shù)據(jù)庫(kù)類庫(kù) php 庫(kù)

實(shí)用的15款開(kāi)源PHP類庫(kù)

? ?PHP庫(kù)給開(kāi)發(fā)者提供了一個(gè)標(biāo)準(zhǔn)接口 它幫助開(kāi)發(fā)者在PHP里充分利用面向?qū)ο缶幊?這些庫(kù)為特定類型的內(nèi)置功能提供了一個(gè)標(biāo)準(zhǔn)的API 允許類可以與PHP引擎進(jìn)行無(wú)縫的交互 此外 開(kāi)發(fā)者使用這些類庫(kù)還可以簡(jiǎn)化工作流程 提供工作效率

為監(jiān)利等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及監(jiān)利網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、成都做網(wǎng)站、監(jiān)利網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

下面就一起來(lái)看看這些非常實(shí)用且免費(fèi)的類庫(kù)吧 希望它們能助你一臂之力

Requests

? ?Requests是一個(gè)用PHP編寫的HTTP庫(kù) 遵循ISC開(kāi)源協(xié)議 托管在GitHub上 Requests取代了Python HTTP/ 以外的一切工作———讓你與Web服務(wù)可以無(wú)縫的結(jié)合

? ?Requests提供了一致的API 并且使用cURL或fsockopen(具體取決于可用性) 它還簡(jiǎn)化了發(fā)送請(qǐng)求 接受HEAD GET POST PUT DELETE或PATCH并且添加標(biāo)頭 表單數(shù)據(jù)和多個(gè)部分組成的文件 其次 該庫(kù)還適用于國(guó)際域名 身份驗(yàn)證 自動(dòng)壓縮gzip壓縮響應(yīng)等 綜上所述可以看出 Requests是一個(gè)非常好用且可以友好托管HTTP請(qǐng)求的標(biāo)簽

Munee

? ? Munee是一個(gè)集圖片尺寸調(diào)整 CSS JS合并/壓縮 緩存等功能于一身的PHP庫(kù) 可以在服務(wù)器端和客戶端緩存資源 它集成了PHP圖片操作庫(kù)Imagine來(lái)實(shí)現(xiàn)圖片尺寸調(diào)整和剪切 之后進(jìn)行緩存

? ? Munee可以自動(dòng)編譯LESS SCSS和CoffeeScript 并且可以把CSS+JS文件合并成一個(gè)單一的請(qǐng)求 此外 還可以對(duì)這些CSS JS文件進(jìn)行精縮 讓其擁有更好的性能表現(xiàn) 該庫(kù)還可以輕易地與任何代碼集成

Ratchet?

? ?Ratchet是一個(gè)PHP庫(kù) WebSockets工具包 開(kāi)發(fā)者可以使用它在客戶端和服務(wù)器端之間構(gòu)建實(shí)時(shí) 雙向的App應(yīng)用 并且可以快速簡(jiǎn)單地構(gòu)建事件驅(qū)動(dòng)應(yīng)用程序(而不是傳統(tǒng)的HTTP 請(qǐng)求/響應(yīng)應(yīng)用程序)

Swift Mailer

? ?Swift Mailer是一個(gè)功能豐富的PHP郵件庫(kù) 不依賴于PHP自帶的mail() 函數(shù) 因?yàn)樵摵瘮?shù)在發(fā)送多個(gè)郵件時(shí)占用的系統(tǒng)資源很高 Swift直接與SMTP服務(wù)器通訊 具有非常高的發(fā)送速度和效率

Unirest?

? ?Unirest是一個(gè)輕量級(jí)的HTTP開(kāi)發(fā)庫(kù) 可用于PHP Ruby Python Java Objective C等開(kāi)發(fā)語(yǔ)言 支持GET POST PUT UPDATE DELETE操作 它的調(diào)用方法與返回結(jié)果對(duì)所有開(kāi)發(fā)語(yǔ)言來(lái)說(shuō) 都是相同的

Detector

? ?Detector是一個(gè)開(kāi)源的PHP類庫(kù) 用于檢測(cè)用戶的瀏覽器環(huán)境 它可以獲得瀏覽器的使用情況和瀏覽器的HTML CSS 功能 并分析是否是移動(dòng) 平板電腦 桌面或網(wǎng)頁(yè)爬蟲(chóng)和其他項(xiàng) 如 顏色深度 視頻尺寸 Cookie等 該庫(kù)對(duì)每個(gè)瀏覽器用戶都使用單一的用戶代理字符串來(lái)自動(dòng)適應(yīng)新瀏覽器 版本和設(shè)備

PHP Thumb

? ?PHP Thumb是一個(gè)PHP類 用來(lái)生成圖片的縮略圖 只需數(shù)行代碼即可 支持多種圖片來(lái)源 包括文件系統(tǒng)或者數(shù)據(jù)庫(kù) 支持大多數(shù)圖片格式 并可對(duì)圖片進(jìn)行旋轉(zhuǎn) 剪切 加水印等等 可自定義縮略圖的質(zhì)量 提供內(nèi)建的緩存以降低服務(wù)器的負(fù)載

Zebra Image

? ? ?Zebra Image是一個(gè)開(kāi)源的輕量級(jí)圖像處理庫(kù) 并且是一款面向?qū)ο髱?kù) 只需PHP GD 擴(kuò)展 并支持縮放 裁剪 旋轉(zhuǎn)和翻轉(zhuǎn)操作 它可以用于 jpg gif png等格式

Hybrid Auth

? ?HybridAuth是一個(gè)開(kāi)源PHP類庫(kù) 用于通過(guò)微博/社交網(wǎng)站和ID來(lái)提供驗(yàn)證功能實(shí)現(xiàn)同步登錄網(wǎng)站功能 它能夠很方便的與現(xiàn)有網(wǎng)站相集成 只要引用一個(gè)文件并添加幾行代碼就能夠?qū)崿F(xiàn)登錄 一旦驗(yàn)證 HybridAuth會(huì)提供連接用戶的標(biāo)準(zhǔn)化相關(guān)資料 此外 除了驗(yàn)證功能 這個(gè)類庫(kù)能夠讓我們與用戶連接的social API客戶端相交互

Gantt Charts

? ?Gantti是一個(gè)開(kāi)源的PHP類 幫助用戶即時(shí)生成Gantt圖表 使用Gantti創(chuàng)建圖表無(wú)需使用JavaScript 是純HTML CSS 圖表默認(rèn)輸出非常漂亮 但用戶可以自定義樣式進(jìn)行輸出(SASS樣式表)

Mobile Detect?

? ?Mobile Detect是一個(gè)PHP類 通過(guò)User Agent檢測(cè)各種手機(jī)設(shè)備 并結(jié)合HTTP Header來(lái)檢測(cè)移動(dòng)設(shè)備環(huán)境 該類庫(kù)最強(qiáng)大的地方是 它有一個(gè)非常完整的庫(kù) 可以檢測(cè)出所用的設(shè)備類型(包括操作類型 以及手機(jī)品牌等都能檢測(cè))和瀏覽器的詳細(xì)信息

ImageWorkshop

? ?顧名思義 ImageWorkshop是一個(gè)管理和操作圖片的PHP類庫(kù) 這個(gè)類擁有類似圖片編輯軟件的邏輯 基于層的概念 可以疊加很多層或?qū)咏M(每一層不同的操縱選項(xiàng)) 它還支持許多功能 比如水印 裁剪 移動(dòng) 縮放 旋轉(zhuǎn) 疊加等

JqmPhp

? ?JqmPhp是一個(gè)PHP開(kāi)源類庫(kù) 旨在簡(jiǎn)化jQuery與PHP來(lái)進(jìn)行移動(dòng)開(kāi)發(fā) 用于生成使用jQuery Mobile框架所需要的HTML文件 該類庫(kù)的文件是獨(dú)立的 所以你可以根據(jù)需要來(lái)選擇使用

PHP Image Cache

? ?Image Cache是一個(gè)輕量級(jí)的PHP類 可以在用戶瀏覽器里壓縮 移動(dòng) 緩存圖片 這個(gè)類提供一些簡(jiǎn)單的設(shè)置如 目錄 根路徑URL等 然后針對(duì)每一張圖片調(diào)用壓縮功能

Imagine

? ?Imagine是一個(gè)面向?qū)ο蟮腜HP類庫(kù) 用于圖片操作 這個(gè)類庫(kù)能夠處理一些經(jīng)常用到的操作如 縮放 裁剪 應(yīng)用過(guò)濾等 其Color類庫(kù)可用于對(duì)任意特定的顏色生成RGB值 并且還提供一些方法來(lái)繪制圖形如 圓弧 橢圓 線 片等

lishixinzhi/Article/program/PHP/201404/30630

PHP數(shù)據(jù)庫(kù)操作之基于Mysqli的數(shù)據(jù)庫(kù)操作類庫(kù)

此類庫(kù)簡(jiǎn)單、易用,便于你自己修改和對(duì)功能的改善,能解決大部分

PHP

項(xiàng)目中執(zhí)行的

SQL

操作。

初步工作

首先,請(qǐng)大家下載這個(gè)類庫(kù)

M.class.php 再下載一個(gè)

Mysqli

連接數(shù)據(jù)庫(kù)的類庫(kù)

MysqliDb.class.php(打包下載地址)

新建一個(gè)

includes

的文件夾,將下載下來(lái)的兩個(gè)

class

文件,放進(jìn)去。

然后,請(qǐng)你在項(xiàng)目下創(chuàng)建一個(gè)

test.php

文件。注:UTF-8

文件格式

請(qǐng)先根據(jù)你機(jī)器的情況,填充以下代碼,用于連接數(shù)據(jù)庫(kù):

復(fù)制代碼

代碼如下:

header('Content-Type:text/html;Charset=utf-8');

define('ROOT_PATH',

dirname(__FILE__));

define('DB_HOST',

'localhost');

//數(shù)據(jù)庫(kù)服務(wù)器地址

define('DB_USER',

'root');

//數(shù)據(jù)庫(kù)用戶名

define('DB_PWD',

'×××');//數(shù)據(jù)庫(kù)密碼

define('DB_NAME',

'×××');

//數(shù)據(jù)庫(kù)名稱

define('DB_PORT',

'3306');

//數(shù)據(jù)庫(kù)端口

function

__autoload($className)

{

require_once

ROOT_PATH

.

'/includes/'.

ucfirst($className)

.'.class.php';

//自動(dòng)加載

class

文件

}

好了,上面的這些操作都是初步工作,下面正式進(jìn)入類庫(kù)的講解。

類庫(kù)講解

首先,我們得實(shí)例化

M.class.php,實(shí)例化很簡(jiǎn)單:

復(fù)制代碼

代碼如下:

$m

=

new

M();

//這步操作代表

M.class.php

中的所有功能都封裝在了變量

$m

注:

1、M類庫(kù)中的方法參數(shù)說(shuō)明,請(qǐng)到

M.class.php

文件中看詳細(xì)的注釋,這里不再進(jìn)行敘述。建議在學(xué)習(xí)的時(shí)候,對(duì)照著看下文件中的參數(shù)即注釋。

2、講解代碼中用到的數(shù)據(jù)庫(kù)結(jié)構(gòu)為:

復(fù)制代碼

代碼如下:

CREATE

TABLE

`user`

(

`id`

int(8)

unsigned

NOT

NULL

auto_increment,

`name`

varchar(50)

default

NULL,

`email`

varchar(100)

default

NULL,

`age`

smallint(3)

default

NULL,

`class_id`

int(8)

default

NULL,

`commit_time`

int(10)

default

NULL,

PRIMARY

KEY

(`id`),

KEY

`name`

(`name`)

)

ENGINE=MyISAM

DEFAULT

CHARSET=utf8

復(fù)制代碼

代碼如下:

CREATE

TABLE

`class`

(

`class_id`

int(8)

NOT

NULL

auto_increment,

`class_name`

varchar(100)

default

NULL,

PRIMARY

KEY

(`class_id`)

)

ENGINE=InnoDB

DEFAULT

CHARSET=utf8

并添加一條測(cè)試數(shù)據(jù)。

3、M類庫(kù)中,大部分方法都分兩中類型,即:SQL方法;拼接方法,具體在實(shí)例中可以看出

4、以下稱述中的

M

M.class.php

文件

方法1、Insert()

添加數(shù)據(jù)

Insert

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$m-Insert("user",

null,

array('焦焦',

'liruxing1715@sina.com',

'23',

time()));

//

拼接方法:往`user`表中添加一條數(shù)據(jù),返回值為數(shù)據(jù)庫(kù)影響的行數(shù)

$m-Insert("user",

null,

array('焦焦',

'liruxing1715@sina.com',

'23',

time()),

true);

//

功能同上,返回

last_insert_id(插入的增長(zhǎng)id)

$m-Insert("INSERT

INTO

`user`

(`name`,

`email`,

`age`,

`commit_time`)

VALUES

('張小花',

'zhangxiaohua@sina.com.cn',

'22',

'".time()."')");

//SQL方法,返回值為數(shù)據(jù)庫(kù)影響的行數(shù)

$m-Insert("INSERT

INTO

`user`

(`name`,

`email`,

`age`,

`commit_time`)

VALUES

('張小花',

'zhangxiaohua@sina.com.cn',

'22',

'".time()."')",

true);

//

同上,返回

last_insert_id

注:Insert

方法中的第二個(gè)參數(shù)若為null,可自動(dòng)獲得插入表除

auto_increment

字段之外的所有字段,詳情請(qǐng)看M源文件;若要返回值為最后插入的

ID,那么請(qǐng)?jiān)O(shè)置

Insert

方法的最后一個(gè)參數(shù)為

true(默認(rèn)是false);

方法2、Update()

修改數(shù)據(jù)

update

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$m-Update("user",

array('name'='李茹茹',

'age'=24),

"id=1");

//拼接方法,修改id為1的數(shù)據(jù)的名稱為“李茹茹”;年齡為“24”,其方法的返回值為受影響的行數(shù)

$m-Update("UPDATE

`user`

SET

`name`='李茹茹',

`age`=24

WHERE

id

=

1");

//SQL

用法,功能同上

方法3、Del()

刪除數(shù)據(jù)

Del

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$m-Del('user',

'id=3');

//拼接方法:刪除`user`表中

id

為3的數(shù)據(jù),返回受影響的行數(shù)

$m-Del("DELETE

FROM

`user`

WHERE

id=4");

//SQL方法:刪除`user`表中

id

為4的數(shù)據(jù),返回受影響的行數(shù)

$m-Del("DELETE

FROM

`user`

WHERE

id

in

(10,

11,

12)");

//SQL方法:刪除多條數(shù)據(jù),刪除`user`表中

id

10、11、12

的數(shù)據(jù),返回受影響的行數(shù)

方法4、Total()

獲取記錄數(shù),返回值都為int

Del

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$m-Total('user');

//拼接方法:返回

`user`表中的記錄數(shù),無(wú)條件

$m-Total('user',

'id1');

//拼接方法:返回

`user`表中

id

大于1的記錄數(shù),有條件

$m-Total("SELECT

COUNT(*)

AS

total

FROM

`user`");

//SQL方法,注:使用SQL方法,語(yǔ)句中必須使用

"AS

total",否則會(huì)報(bào)錯(cuò)

方法5、IsExists()

檢查數(shù)據(jù)是否存在,返回值為boolean

復(fù)制代碼

代碼如下:

$m-IsExists('user',

"`name`='焦焦'");

//拼接方法:返回`user`表中是否存在`name`為“焦焦”的數(shù)據(jù),返回true,若不存在,返回false

方法6、InsertId()

獲取表下一個(gè)添加的自動(dòng)增長(zhǎng)id,注意,這里不進(jìn)行添加操作,只是獲取下一個(gè)增長(zhǎng)id

復(fù)制代碼

代碼如下:

echo

$m-InsertId('user');

//獲取`user`

表下一個(gè)添加的自動(dòng)增長(zhǎng)id

方法7、GetRow()

返回單條數(shù)據(jù),返回值為一維數(shù)組

GetRow

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$data

=

$m-GetRow("SELECT

`name`,email

FROM

`user`

WHERE

id=1");

//SQL方法,返回一維數(shù)組,例如:Array

(

[name]

=

焦焦

[email]

=

liruxing1715@sina.com

)

$data

=

$m-GetRow("SELECT

u.`name`,

u.email,

c.class_name

FROM

`user`

u,

`class`

c

WHERE

u.class_id=c.class_id

AND

u.id=1");

//SQL方法,多表查詢

$data

=

$m-GetRow('user',

'`name`,email',

"id=1");

//拼接方法

$data

=

$m-GetRow('user

as

u,`class`

c',

'u.`name`,u.email,c.class_name',

"u.id=1

AND

u.class_id=c.class_id");

//拼接方法,多表查詢

$data

=

$m-GetRow("SELECT

`name`,email

FROM

`user`");

//如果沒(méi)有指定條件應(yīng)該是顯示全部信息,但是在此方法中將默認(rèn)顯示第一條(不推薦這么使用!?。。?/p>

$data

是查詢出來(lái)的一維數(shù)組。

方法8、GetOne()

返回單個(gè)數(shù)據(jù)

GetOne

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$name

=

$m-GetOne("SELECT

`name`

FROM

`user`

WHERE

id=1");

//SQL方法,返回一個(gè)字符串,例如:焦焦

$name

=

$m-GetOne("user",

"name",

"id=1");

//拼接方法,返回一個(gè)字符串,例如:焦焦

方法9、FetchAll()

返回所有記錄

復(fù)制代碼

代碼如下:

$data

=

$m-FetchAll("user");

//返回`user`表中的所有記錄,以二維數(shù)組的形式

$data

=

$m-FetchAll("SELECT

*

FROM

`user`");

//SQL

方法,功能和返回值同上

$data

=

$m-FetchAll("user",

"name,email",

"id1",

'id

DESC',

'2');

//返回兩條id1的數(shù)據(jù),只顯示name,email,并且以id

為倒序排序。注:請(qǐng)注意該方法的最后一個(gè)參數(shù)也可以為'0,2',目的是為分頁(yè)準(zhǔn)備的,如果第一頁(yè)為'0,2'的話,那么第二頁(yè)就是'2,2'

//該方法也支持聯(lián)表查詢和多表查詢,下面以聯(lián)表查詢?yōu)槔?/p>

$data

=

$m-FetchAll("`user`

as

u

LEFT

JOIN

`class`

as

c

ON

u.class_id=c.class_id",

"u.`name`,u.email,

c.class_name",

"u.id=1");

//注意:該拼接方法中,ON

添加的位置

注:對(duì)于該

FetchAll

方法,后續(xù)我會(huì)寫一篇使用該方法進(jìn)行完美分頁(yè)的文章!!請(qǐng)關(guān)注。

方法10、MultiQuery()

執(zhí)行多條SQL語(yǔ)句

復(fù)制代碼

代碼如下:

$sql

=

"INSERT

INTO

user

(`name`,email,

age,

class_id,

commit_time)

VALUES

('賈花花',

'jiahuahua@sina.com.cn',

'22',

'1',

'".time()."')";

//添加一個(gè)名叫“賈花花”的學(xué)生信息

$sql

.=

";DELETE

FROM

`user`

WHERE

`name`='焦焦'";

//刪除一條名叫“焦焦”的學(xué)生信息

//解釋:$sql

是多條

SQL

以英文;(分號(hào))拼接起來(lái)的

$data

=

$m-MultiQuery($sql);

//返回為true,代表執(zhí)行成功;為false,代表執(zhí)行失敗

類庫(kù)講解完畢

到此該類庫(kù)的全部功能就講解完畢,希望你能多看看M文件,了解其內(nèi)部運(yùn)行的機(jī)制。M

文件不會(huì)存在執(zhí)行緩慢情況,請(qǐng)大家放心使用。

如果在使用過(guò)程中出現(xiàn)

SQL

拼接錯(cuò)誤,類庫(kù)會(huì)報(bào)出友善的錯(cuò)誤提示。

有問(wèn)題請(qǐng)留言,歡迎大家的批評(píng)和建議,加油!學(xué)習(xí)好運(yùn)。

php中函數(shù)庫(kù)和類庫(kù)到底有什么區(qū)別?

首先你要知道什么是函數(shù),比如這一個(gè)

is_mail($str){//判斷的內(nèi)容}

假如這個(gè)is_mail可以用來(lái)判斷用戶提交的數(shù)據(jù)是否是email格式的,這就是一個(gè)功能。判斷is_mail的功能。

使用的時(shí)候只要

if(is_mail($str))

{}

else

{}

函數(shù)庫(kù)

就是很多函數(shù)的集合。有很多功能,你就不用自己重新寫了,直接使用就可以。

而類庫(kù),你要先理解類。

類,你可以理解為函數(shù)根據(jù)實(shí)際需求分類存放的一個(gè)地方。因?yàn)槿绻?xiàng)目很大,就會(huì)有很多函數(shù),如果不分類,有時(shí)候就很難找到了。根據(jù)函數(shù)的功能,把一類函數(shù)都整合到一個(gè)類里面,使用起來(lái)就很方便。

比如數(shù)據(jù)庫(kù)操作類。

所有數(shù)據(jù)庫(kù)操作的函數(shù)都放在里面了,你只要調(diào)用就可以了。

$db = new data();

$db-qurey();//使用$db類的qurey方法,其實(shí)就是使用qurey這個(gè)函數(shù)。

而類庫(kù),就是很多可以直接使用的類。

總而言之,函數(shù)庫(kù)和類庫(kù),可以大大提升開(kāi)發(fā)效率。

PHP自寫類庫(kù),究竟該采用mysqli還是PDO呢?

市場(chǎng)大大多數(shù)的虛擬主機(jī)是不讓你修改php.ini的 所以不確定能不能開(kāi)啟pdo 好像ini_set不能開(kāi)啟pdo吧

自己寫類庫(kù)吧 穩(wěn)定


分享題目:php數(shù)據(jù)庫(kù)類庫(kù) php 庫(kù)
當(dāng)前地址:http://weahome.cn/article/hhchgd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部