需要你在阿里云選擇一款服務(wù)器配置,然后用第三方一鍵php包的配置,服務(wù)器配置出可視化php環(huán)境界面,上傳程序,安裝網(wǎng)站,添加內(nèi)容。
在陽信等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需規(guī)劃網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),營(yíng)銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),陽信網(wǎng)站建設(shè)費(fèi)用合理。
下載TP5完整版(初學(xué)者學(xué)習(xí)用的)
解壓到本地的開發(fā)環(huán)境中,默認(rèn)的入口文件是public,訪問public會(huì)看到TP5成功頁面。
開發(fā)一個(gè)項(xiàng)目的時(shí)候,通常分為前臺(tái)和后臺(tái),前臺(tái)一般放在index模塊中,后臺(tái)一般放在admin模塊中。所以你想鏈接數(shù)據(jù)庫,就去 admin文件夾修改 database.php 連接數(shù)據(jù)庫時(shí)候讀取的文件,就可以了。
TP框架都這么操作出來的,這是個(gè)思路,因?yàn)檫@方面內(nèi)容較多,這里也寫不開那么多內(nèi)容,在這留言或到咱們的blog找相關(guān)內(nèi)容,可以幫助入門。
php知識(shí)框架總結(jié)
篇一:php基礎(chǔ)知識(shí)點(diǎn)總結(jié)
PHP語言基礎(chǔ)簡(jiǎn)單整理
1.開始結(jié)束標(biāo)記的格式只有在沒有判斷語句時(shí)才能使用。
對(duì)表單傳遞的變量進(jìn)行編碼和解碼:PHP中實(shí)現(xiàn)對(duì)查詢字符串進(jìn)行URL編碼可以通過函數(shù)urlencode()實(shí)現(xiàn),該函數(shù)的使用格式如下:string urlencode(string str);對(duì)URL編碼后的查詢字符串進(jìn)行解碼,可以通過urldecode()函數(shù)實(shí)現(xiàn),該函數(shù)的使用格式如下:string urldecode(string str);
15.PHP連接數(shù)據(jù)庫:
步驟: 一、建立連接------mssql_connect(server,uid,pwd);
二、指定database-------mssql_select_db(databasename);
三、執(zhí)行sql------mssql_query($sql,$link);
四、處理記錄集-------資源類型數(shù)據(jù),格式:bof---數(shù)據(jù)---eof
五、以特定格式讀取數(shù)據(jù)-----mssql_fetch_array()....
六、釋放相關(guān)資源、關(guān)閉連接------mssql_free_result($result);mssql_close();
16.數(shù)組:php的數(shù)組由鍵值和value值組成
定義:$array = array("鍵值"="value","鍵值"="value","鍵值"="value");如果不給鍵值賦值,默認(rèn)從0開始的int值
相關(guān)函數(shù):(1)in_array("值",數(shù)組名); 返回bool型-----查看數(shù)組中是否存在某value值
(2)array_key_exists("key值",數(shù)組名); 返回bool型-----查看數(shù)組中是否存在某鍵值
(3)array_keys(數(shù)組名);---將數(shù)組鍵值返回出來形成一個(gè)新數(shù)組,此鍵值作為新數(shù)組的value值
(4)array_values(數(shù)組名);---將數(shù)組value值返回出來形成一個(gè)新數(shù)組,此值作為新數(shù)組的value值
(5)key(數(shù)組名);----返回當(dāng)前指針指向的元素key值
(6)current(數(shù)組名);----返回當(dāng)前指針指向的元素value值
(7)next(數(shù)組名);----挪動(dòng)當(dāng)前數(shù)組指針到下一步
(8)reset(數(shù)組名);----恢復(fù)數(shù)組指針,指向第0個(gè)元素
(9)end(數(shù)組名);----將指針挪向最后一個(gè)元素
(10)prev(數(shù)組名);----將指針向前挪動(dòng)一位
(11)foreach(數(shù)組名 as $key=$value)
{
$key是鍵值,$value是value值,實(shí)現(xiàn)數(shù)組遍歷
}
(12)each(數(shù)組名);----將當(dāng)前數(shù)組元素依次取出(自動(dòng)挪動(dòng)指針)并放到一個(gè)新的數(shù)組中
(13)array_shift(數(shù)組名);----返回?cái)?shù)組中第一個(gè)元素值
(14)array_pop(數(shù)組名);----返回?cái)?shù)組最后一個(gè)元素值
(15)array_push(數(shù)組名,value);----向數(shù)組中追加元素
(16)array_unshift(數(shù)組名,value);----在數(shù)組最前面添加元素
(17)array_pad(數(shù)組名,數(shù)組長(zhǎng)度,value);----向數(shù)組中追加多個(gè)元素,對(duì)數(shù)組副本操作,不改變?cè)瓟?shù)組,返回一個(gè)新數(shù)組
(18)count();----返回個(gè)數(shù)
(19)array_unique(數(shù)組名);----去掉數(shù)組中重復(fù)部分,操作數(shù)組副本,不改變?cè)瓟?shù)組,返回新數(shù)組
(20)sort(數(shù)組名);----從小到大升序排列數(shù)組value值,一般針對(duì)int型value值,返回bool型,成功返回true
(21)rsort(數(shù)組名);----從大到小,逆序排列數(shù)組value值
(22)array_combine(數(shù)組1,數(shù)組2);----將數(shù)組1的value值作為key,數(shù)組2的value值作為value值,形成一個(gè)新數(shù)組
(23)array_merge(數(shù)組1,數(shù)組2,數(shù)組3...);----合并多個(gè)數(shù)組,將多個(gè)數(shù)組value值依次合并,合為一個(gè)數(shù)組
(24)array_slice(數(shù)組名,int,int);----從目標(biāo)數(shù)組截取元素,形成一個(gè)新數(shù)組。開始位置為第二個(gè)參數(shù),結(jié)束位置為第三個(gè)參數(shù)。若第三個(gè)參數(shù)不寫,則默認(rèn)是截取到最后。
(25)array_splice();----用法同array_slice();但是其截取部分從原數(shù)組中刪除
(26)explode("字符依據(jù)",目標(biāo)字符串);----將字符串按照一定的依據(jù)拆分成數(shù)組
(27)implode("字符依據(jù)",目標(biāo)數(shù)組);----將數(shù)組元素按照依據(jù)組合成一個(gè)字符串
(28)range(mixed low,mixed high[number step]);----生成數(shù)組,例:range(1,100,8);---即從1到100,每8位取一個(gè)數(shù),組成一個(gè)數(shù)組
(29)shuffle(數(shù)組名);----用于將數(shù)組進(jìn)行隨機(jī)排序
(30)array_sum(數(shù)組名);----對(duì)數(shù)值型數(shù)組元素值進(jìn)行求和
(31)array_chunk(數(shù)組名,int);----分割目標(biāo)數(shù)組,返回一個(gè)新數(shù)組,其中數(shù)組的每個(gè)元素都是一個(gè)一維數(shù)組,int參數(shù)為分割成的一維數(shù)組的長(zhǎng)度
17.Cookie和會(huì)話控制:
Cookie是在HTTP協(xié)議下,服務(wù)器或腳本可以維護(hù)客戶工作站上信息的一種方式。Cookie是由Web服務(wù)器保存在客戶機(jī)上的小文本文件,它可以包含有關(guān)用戶的信息。無論何時(shí)用戶鏈接到服務(wù)器,Web站點(diǎn)都可以訪問Cookie信息。
存在server端的是session,存在client端的是cookie,它們用來存儲(chǔ)全局變量。 設(shè)定Cookie值:setcookie("名","值");
通過Cookie數(shù)組取值:$_cookie["名"];
設(shè)置生成期:setcookie("名","值",time()+1800);生成期為當(dāng)前時(shí)間加1800秒之后。
刪除cookie: setcookie("名","",time()-3600);中間值設(shè)置為空,并將當(dāng)前時(shí)間減去3600秒。 Cookie數(shù)組:setcookie("名[key]","值"); 使用foreach讀取。
在PHP中可以通過$_COOKIE預(yù)定義變量訪問Cookie的值。如果設(shè)置了php.ini中的register_long_arrays,那么就能夠應(yīng)用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中還設(shè)置了register_globals,那么就可以在PHP中作為全局變量使用各個(gè)Cookie值。但是,更改php.ini中的兩個(gè)文件設(shè)置,容易對(duì)PHP的安全構(gòu)成威脅,不推薦使用該方法,建議使用更新的$_COOKIE。
會(huì)話ID的傳送
會(huì)話ID的傳送有兩種方式,一種是Cookie方式,另一種是URL方式。
Cookie傳送方式:
這是最簡(jiǎn)單的會(huì)話方式,但是有些客戶可能限制使用Cookie,如果客戶限制使用Cookie的條件下,仍要繼續(xù)工作,那就要通過其他方式來實(shí)現(xiàn)了。
URL傳送方式:
在該方式中,URL本身用來傳送會(huì)話,會(huì)話標(biāo)志被簡(jiǎn)單地附加到URL的尾部,或者作為窗體中的一個(gè)變量來傳遞。例:
本文實(shí)例講述了PHP實(shí)現(xiàn)的pdo連接數(shù)據(jù)庫并插入數(shù)據(jù)功能。分享給大家供大家參考,具體如下:
創(chuàng)建配置文件
pdo_config.php
?php
$db_Type
=
"mysql";//數(shù)據(jù)庫類型
$host
=
"localhost";//主機(jī)名
$dbName
=
"test";//數(shù)據(jù)庫名
$userName
=
"root";//用戶名
$password
=
"root";//密碼
$dsn
=
"{$db_Type}:host={$host};dbname={$dbName}";
?
pdo插入數(shù)據(jù)庫
pdo_insert.php
?php
header('Content-type:text/html;
charset=utf-8');
require
'pdo_config.php';
try{
$pdo
=
new
PDO
($dsn,$userName,$password);//創(chuàng)建一個(gè)連接對(duì)象
$pdo-exec('set
names
utf8');//設(shè)置編碼
$sql
=
"INSERT
student
(name,email)
VALUES
('李四','123@qq.com')";
$pdo-exec($sql);
}catch
(PDOException
$e){
die('操作失敗'.$e-getMessage());
}
//關(guān)閉連接
$pdo
=
null;
?
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php+mysqli數(shù)據(jù)庫程序設(shè)計(jì)技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:關(guān)于php連接mssql:pdo
odbc
sql
serverPHP5中使用PDO連接數(shù)據(jù)庫的方法PHP中PDO連接數(shù)據(jù)庫中各種DNS設(shè)置方法小結(jié)ThinkPHP框架基于PDO方式連接數(shù)據(jù)庫操作示例PHP使用ODBC連接數(shù)據(jù)庫的方法tp5(thinkPHP5)框架連接數(shù)據(jù)庫的方法示例PHP7使用ODBC連接SQL
Server2008
R2數(shù)據(jù)庫示例【基于thinkPHP5.1框架】tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫的方法thinkPHP5實(shí)現(xiàn)數(shù)據(jù)庫添加內(nèi)容的方法tp5(thinkPHP5)框架數(shù)據(jù)庫Db增刪改查常見操作總結(jié)PHP利用pdo_odbc實(shí)現(xiàn)連接數(shù)據(jù)庫示例【基于ThinkPHP5.1搭建的項(xiàng)目】
1. Yii
Yii是一個(gè)基于組件的高性能的PHP的框架,用于開發(fā)大規(guī)模Web應(yīng)用。Yii采用嚴(yán)格的OOP編寫,并有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級(jí)式RBAC,Web服務(wù),到主體化,I18N和L10N,Yii提供了今日Web 2.0應(yīng)用開發(fā)所需要的幾乎一切功能。而且這個(gè)框架的價(jià)格也并不太高。事實(shí)上,Yii是最有效率的PHP框架之一。
2. CodeIgniter
CodeIgniter是一個(gè)應(yīng)用開發(fā)框架——一個(gè)為建立PHP網(wǎng)站的人們所設(shè)計(jì)的工具包。其目標(biāo)在于快速的開發(fā)項(xiàng)目:它提供了豐富的庫組以完成常見的任務(wù),以及簡(jiǎn)單的界面,富有條理性的架構(gòu)來訪問這些庫。使用CodeIgniter開發(fā)可以往項(xiàng)目中注入更多的創(chuàng)造力,因?yàn)樗?jié)省了大量編碼的時(shí)間。
3. CakePHP
CakePHP是一個(gè)快速開發(fā)PHP的框架,其中使用了一些常見的設(shè)計(jì)模式如ActiveRecord,Association Data Mapping,F(xiàn)ront Controller以及MVC。其主要目標(biāo)在于提供一個(gè)令任意水平的PHP開發(fā)人員都能夠快速開發(fā)web應(yīng)用的框架,而且這個(gè)快速的實(shí)現(xiàn)并沒有犧牲項(xiàng)目的彈性。
4. PHPDevShell
PHPDevShell是一個(gè)開源(GNU/LGPL)的快速應(yīng)用開發(fā)框架,用于開發(fā)不含Javascript的純PHP。它有一個(gè)完整的GUI管理員后臺(tái)界面。其主要目標(biāo)在于開發(fā)插件一類的基于管理的應(yīng)用,其中速度、安全、穩(wěn)定性及彈性是最優(yōu)先考慮的重點(diǎn)。其設(shè)計(jì)形成了一個(gè)簡(jiǎn)單的學(xué)習(xí)曲線,PHP開發(fā)者無需學(xué)習(xí)復(fù)雜的新術(shù)語。PHPDevShell的到來滿足了開發(fā)者們對(duì)于一個(gè)輕量級(jí)但是功能完善,可以無限制的進(jìn)行配置的GUI的需求。
5. Akelos
Akelos PHP框架是一個(gè)基于MVC設(shè)計(jì)模式的web應(yīng)用開發(fā)平臺(tái)?;诹己玫氖褂昧?xí)慣,使用它可以完成如下任務(wù):
◆方便的使用Ajax編寫views
◆通過控制器管理請(qǐng)求(request)及響應(yīng)(response)
◆管理國際化的應(yīng)用
◆使用簡(jiǎn)單的協(xié)議與模型及數(shù)據(jù)庫通信
你的Akelos應(yīng)用可以在大多數(shù)共享主機(jī)服務(wù)供應(yīng)方上運(yùn)行,因?yàn)锳kelos對(duì)服務(wù)器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用于發(fā)布單獨(dú)web應(yīng)用的框架,因?yàn)樗恍枰菢?biāo)準(zhǔn)PHP配置便能運(yùn)行。
6. Symfony
Symfony是一個(gè)用于開發(fā)PHP5項(xiàng)目的web應(yīng)用框架。
這個(gè)框架的目的在于加速web應(yīng)用的開發(fā)以及維護(hù),減少重復(fù)的編碼工作。
Symfony的系統(tǒng)需求不高,可以被輕易的安裝在任意設(shè)置上:你只需一個(gè)Unix或Windows,搭配一個(gè)安裝了PHP5的網(wǎng)絡(luò)服務(wù)器即可。它與差不多所有的數(shù)據(jù)庫兼容。Symfony的價(jià)位不高,相比主機(jī)上的花銷要低得多。
對(duì)于PHP開發(fā)者而言,使用Symfony是一件很自然的事,其學(xué)習(xí)曲線只有短短一天。干凈的設(shè)計(jì)以及代碼可讀性將縮短開發(fā)時(shí)間。開發(fā)者可以將敏捷開發(fā)的原理(如DRY,KISS或XP等)應(yīng)用在其中,將重點(diǎn)放在應(yīng)用邏輯層面上,而不用花費(fèi)大量時(shí)間在編寫沒完沒了的XML配置文件上。
Symfony旨在建立企業(yè)級(jí)的完善應(yīng)用程序。也就是說,你擁有整個(gè)設(shè)置的控制權(quán):從路徑結(jié)構(gòu)到外部庫,幾乎一切都可以自定義。為了符合企業(yè)的開發(fā)條例,Symfony還綁定了一些額外的工具,以便于項(xiàng)目的測(cè)試,調(diào)試以及歸檔。
7. Prado
PRADO團(tuán)隊(duì)由一些PRADO狂熱者組成,這些成員開發(fā)并推動(dòng)PRADO框架以及相關(guān)項(xiàng)目的進(jìn)行。
PRADO的靈感起源于Apache Tapestry。從04年開始,PRADO成為SourceForge上的開源項(xiàng)目之一。這個(gè)項(xiàng)目目前進(jìn)展到了3.x版本。
8. Zend
作為PHP藝術(shù)及精神的延伸,Zend框架的基礎(chǔ)在于簡(jiǎn)單,面向?qū)ο蟮淖罴逊椒?,方便企業(yè)的許可協(xié)議,以及經(jīng)過反復(fù)測(cè)試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web 2.0應(yīng)用及web服務(wù),并不斷從前沿廠商(如Google,Amazon,Yahoo,F(xiàn)lickr,StrikeIron和ProgrammableWeb等)的API那里吸收精華。
9. ZooP
Zoop PHP框架,意為Zoop面向?qū)ο蟮腜HP框架。
這是個(gè)穩(wěn)定,可伸縮并可移植的框架。從誕生到現(xiàn)在的5年間,已經(jīng)在不少產(chǎn)品開發(fā)中被使用。Zoop是一個(gè)快速,有效并干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。
對(duì)代碼并不很熟悉的開發(fā)者也可以通過Zoop快速的開發(fā)安全的web應(yīng)用。熟練的開發(fā)者則可以更加將Zoop的彈性利用到極致。
Zoop建議將display,logic以及數(shù)據(jù)層(MVC)分開使用。
Zoop由很多組件和項(xiàng)目集合而成,其中包括smarty和prototype AJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實(shí)現(xiàn)的功能。Zoop內(nèi)置的糾錯(cuò)功能可以通過配置實(shí)現(xiàn)生產(chǎn)環(huán)境下的錯(cuò)誤日志生成,這個(gè)錯(cuò)誤日志提供了很多信息,可讀性很高,可以更輕易的尋找并排除錯(cuò)誤。
Zoop的一個(gè)特別之處在于其GuiControls,在PHP中是一個(gè)相當(dāng)革新的想法。它提供了很多form widgets與驗(yàn)證完整的集合到一起,并形成了一個(gè)可以輕松打造個(gè)性化GuiControls的框架。
10. QPHP
QPHP,意為快速PHP,它是一個(gè)與ASP.NET類似的MVC框架?;旧纤沁@樣一個(gè)情況:
◆整合了Java和C#的美感
◆除去了在其他PHP框架中使用的Perl形式的意義含糊的語言
◆大量基于OOP的概念
本文實(shí)例講述了PHP利用pdo_odbc實(shí)現(xiàn)連接數(shù)據(jù)庫。分享給大家供大家參考,具體如下:
目的:從sql
server數(shù)據(jù)庫里面把某個(gè)視圖文件調(diào)用出來,以鍵值對(duì)的方式顯示在頁面上。
利用pdo
odbc來實(shí)現(xiàn)PHP連接數(shù)據(jù)庫:
在PHP配置文件里面開啟pdo_odbc.dll服務(wù)。重啟Apache服務(wù)器。
在ThinkPHP5.1的項(xiàng)目中在模塊里添加config添加規(guī)定好的樣式數(shù)據(jù)庫:
代碼如下:
?php
return
[
//
數(shù)據(jù)庫類型
'type'
=
'sqlsrv',
//
服務(wù)器地址
'hostname'
=
'localhost',
//
數(shù)據(jù)庫名
'database'
=
'mysql',
//
用戶名
'username'
=
'sa',
//
密碼
'password'
=
'123456',
//
端口
'hostport'
=
'',
//
連接dsn
'dsn'
=
'odbc:Driver={SQL
Server};Server=localhost;Database=mysql',
//
數(shù)據(jù)庫連接參數(shù)
'params'
=
[],
//
數(shù)據(jù)庫編碼默認(rèn)采用utf8
'charset'
=
'utf8',
//
數(shù)據(jù)庫表前綴
'prefix'
=
'',
//
數(shù)據(jù)庫調(diào)試模式
'debug'
=
true,
//
數(shù)據(jù)庫部署方式:0
集中式(單一服務(wù)器),1
分布式(主從服務(wù)器)
'deploy'
=
0,
//
數(shù)據(jù)庫讀寫是否分離
主從式有效
'rw_separate'
=
false,
//
讀寫分離后
主服務(wù)器數(shù)量
'master_num'
=
1,
//
指定從服務(wù)器序號(hào)
'slave_no'
=
'',
//
是否嚴(yán)格檢查字段是否存在
'fields_strict'
=
true,
//
數(shù)據(jù)集返回類型
'resultset_type'
=
'array',
//
自動(dòng)寫入時(shí)間戳字段
'auto_timestamp'
=
false,
//
時(shí)間字段取出后的默認(rèn)時(shí)間格式
'datetime_format'
=
'Y-m-d
H:i:s',
//
是否需要進(jìn)行SQL性能分析
'sql_explain'
=
false,
//
Builder類
'builder'
=
'',
//
Query類
'query'
=
'\\think\\db\\Query',
//
是否需要斷線重連
'break_reconnect'
=
false,
//
斷線標(biāo)識(shí)字符串
'break_match_str'
=
[],
];
?
在控制器controller里面建一個(gè)控制文件Test.php
代碼如下:
?php
namespace
app\index\controller;
use
think\Db;
use
think\Controller;
class
Test
extends
Controller
{
public
function
zz(){
$data=Db::view('View_2')-select();
echo
json_encode($data);
}
}
?
最后調(diào)用入口文件即可訪問。
我的效果:
[{"111":"123","1112":"LLP","232":"1","ROW_NUMBER":"1"},{"111":"123","1112":"BB","232":"2","ROW_NUMBER":"2"}]
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend
FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:ThinkPHP實(shí)現(xiàn)多數(shù)據(jù)庫連接的解決方法tp5(thinkPHP5)框架實(shí)現(xiàn)多數(shù)據(jù)庫查詢的方法ThinkPHP3.1新特性之多數(shù)據(jù)庫操作更加完善tp5(thinkPHP5)框架連接數(shù)據(jù)庫的方法示例PHP7使用ODBC連接SQL
Server2008
R2數(shù)據(jù)庫示例【基于thinkPHP5.1框架】thinkPHP5實(shí)現(xiàn)的查詢數(shù)據(jù)庫并返回json數(shù)據(jù)實(shí)例tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫的方法tp5(thinkPHP5)框架數(shù)據(jù)庫Db增刪改查常見操作總結(jié)thinkPHP5框架實(shí)現(xiàn)多數(shù)據(jù)庫連接,跨數(shù)據(jù)連接查詢操作示例
thinkphp連接數(shù)據(jù)庫的方法:
ThinkPHP內(nèi)置了抽象數(shù)據(jù)庫訪問層,把不同的數(shù)據(jù)庫操作封裝起來,只需要使用公共的Db類進(jìn)行操作,而無需針對(duì)不同的數(shù)據(jù)庫寫不同的代碼和底層實(shí)現(xiàn),Db類會(huì)自動(dòng)調(diào)用相應(yīng)的數(shù)據(jù)庫驅(qū)動(dòng)來處理。目前的數(shù)據(jù)庫包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括對(duì)PDO的支持,如果應(yīng)用需要使用數(shù)據(jù)庫,必須配置數(shù)據(jù)庫連接信息,數(shù)據(jù)庫的配置文件有多種定義方式。
常用的配置方式是在項(xiàng)目配置文件中添加下面的參數(shù):
?php
//項(xiàng)目配置文件
return array(
//數(shù)據(jù)庫配置信息
'DB_TYPE' = 'mysql', // 數(shù)據(jù)庫類型
'DB_HOST' = 'localhost', // 服務(wù)器地址
'DB_NAME' = 'thinkphp', // 數(shù)據(jù)庫名
'DB_USER' = 'root', // 用戶名
'DB_PWD' = '', // 密碼
'DB_PORT' = 3306, // 端口
'DB_PREFIX' = 'think_', // 數(shù)據(jù)庫表前綴
//其他項(xiàng)目配置參數(shù)
// ...
);
需要注意的是,ThinkPHP的數(shù)據(jù)庫連接的惰性的,所以并不是在實(shí)例化的時(shí)候就連接數(shù)據(jù)庫,而是在有實(shí)際的數(shù)據(jù)操作的時(shí)候才會(huì)去連接數(shù)據(jù)庫(額外的情況是,在系統(tǒng)第一次實(shí)例化模型的時(shí)候,會(huì)自動(dòng)連接數(shù)據(jù)庫獲取相關(guān)模型類對(duì)應(yīng)的數(shù)據(jù)表的字段信息)。