本篇文章給大家分享的是有關(guān)怎么在ThinkPHP項(xiàng)目中實(shí)現(xiàn)一個(gè)跨模塊調(diào)用功能,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到田家庵網(wǎng)站設(shè)計(jì)與田家庵網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋田家庵地區(qū)。使用 $this 可以調(diào)用當(dāng)前模塊內(nèi)的方法,但是很多情況下經(jīng)常會(huì)在當(dāng)前模塊中調(diào)用其他模塊的方法。ThinkPHP內(nèi)置了A方法與R方法這兩個(gè)特殊的大寫(xiě)字母方法來(lái)處理跨模塊調(diào)用的問(wèn)題。
目前Index模塊內(nèi)有index操作User模塊有showName操作User模塊及showName操作具體代碼如下:
<?php class UserAction extends Action{ public function showName(){ echo "Hello World"; } } ?>
我們將在 Index 模塊的 index 操作中調(diào)用上面的 showName 操作。
通過(guò) A 方法跨模塊調(diào)用操作
A 方法用于實(shí)例化其他模塊(當(dāng)于 new 關(guān)鍵字),模塊被實(shí)例化之后,就可以以對(duì)象的方式調(diào)用模塊內(nèi)的操作。
在 Index 模塊的 index 操作中調(diào)用 User 模塊的 showName 操作實(shí)例:
<?php class IndexAction extends Action{ public function index(){ header("Content-Type:text/html; charset=utf-8"); // 實(shí)例化 User 模塊 $User = A('User'); // 調(diào)用 User 模塊中的方法 $User->showName(); } } ?>
A 方法還支持跨分組調(diào)用和跨項(xiàng)目調(diào)用模塊,語(yǔ)法如下:
A('<項(xiàng)目名://><分組名/>模塊名')
// 常用例子如下 A('User') //調(diào)用當(dāng)前項(xiàng)目的 User 模塊,如上面的例子 A('Admin://User') //調(diào)用 Admin 項(xiàng)目的 User 模塊 A('Admin/User') //調(diào)用 Admin 分組的 User 模塊 A('Admin://Tool/User') //調(diào)用 Admin 項(xiàng)目 Tool 分組的 User 模塊
通過(guò) R 方法跨模塊調(diào)用操作
ThinkPHP 還提供了 R 方法,可直接調(diào)用其他模塊的操作方法,將上面使用 A 方法的例子更改為 R 方法:
<?php class IndexAction extends Action{ public function index(){ header("Content-Type:text/html; charset=utf-8"); // 調(diào)用 User 模塊中的方法 R('User/showName'); } } ?>
R 方法同樣也支持跨分組調(diào)用和跨項(xiàng)目調(diào)用方法,語(yǔ)法如下:
R('<項(xiàng)目名://><分組名/>模塊名/操作'<, array()>)
// 常用例子如下 R('User/showName') //調(diào)用當(dāng)前項(xiàng)目的 User 模塊的 showName 方法,如上面的例子 R('Admin://User/showName') //調(diào)用 Admin 項(xiàng)目 User 模塊的 showName 方法 R('Admin/User/showName') //調(diào)用 Admin 分組 User 模塊的 showName 方法 R('Admin://Tool/User/info') //調(diào)用 Admin 項(xiàng)目 Tool 分組的 User 模塊的 info 方法 R 方法接收參數(shù) R 方法也支持對(duì)調(diào)用的方法傳入?yún)?shù),因?yàn)閷?shí)際上調(diào)動(dòng)的操作,可能是需要傳入?yún)?shù)的。 R 方法的第二個(gè)參數(shù)為數(shù)組,該數(shù)組將作為被調(diào)用操作的參數(shù)傳入。如下面的例子所示: R( 'User/showName',array(5) );
該例子表示 showName 操作將接受 5 這樣一個(gè)參數(shù)。而對(duì)應(yīng)的 showName 操作可能為:
<?php class UserAction extends Action{ public function showName($id){ // 根據(jù) id 參數(shù)獲取用戶(hù)信息的代碼 } } ?>
要傳入多個(gè)參數(shù),那么將 R 方法的 array() 參數(shù)數(shù)組依次定義多個(gè)元素即可。
A 方法還是 R 方法?
從上面的例子可以看出,A 方法和 R 方法都可以調(diào)用其他模塊的操作,那是使用 A 方法好還是 R 方法好呢?在此建議如下:如果要使用其他模塊內(nèi)的多個(gè)方法,那么建議使用 A 方法,通過(guò)對(duì)象的方式調(diào)用該模塊的不同方法,避免多次實(shí)例化對(duì)象;如果只需要使用其他模塊內(nèi)的其中一個(gè)方法,那么無(wú)疑 R 方法是最簡(jiǎn)潔的。
以上就是怎么在ThinkPHP項(xiàng)目中實(shí)現(xiàn)一個(gè)跨模塊調(diào)用功能,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站名稱(chēng):怎么在ThinkPHP項(xiàng)目中實(shí)現(xiàn)一個(gè)跨模塊調(diào)用功能-創(chuàng)新互聯(lián)
路徑分享:http://aaarwkj.com/article42/dppsec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、域名注冊(cè)、網(wǎng)站導(dǎo)航、建站公司、網(wǎng)站營(yíng)銷(xiāo)、全網(wǎng)營(yíng)銷(xiāo)推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容