Yii框架使用魔術(shù)方法實(shí)現(xiàn)跨文件調(diào)用功能示例
本文實(shí)例講述了Yii框架使用魔術(shù)方法實(shí)現(xiàn)跨文件調(diào)用。分享給大家供大家參考,具體如下:
目前項(xiàng)目用yii框架,controller調(diào)用facade的方法,facade調(diào)用adapter的方法,adapter調(diào)用api的方法,api封裝了sql方法,但是大部分情況下,只是單純的調(diào)用,但限于目前項(xiàng)目的規(guī)則,都要寫(xiě)方法,而方法都是單純的return,于是寫(xiě)了個(gè)demo,模擬了下。
<?php
class aApi
{
public static function tt1($name, $age)
{
print_r($name);
echo $age;
}
}
class aAdapter
{
public function __call($func, $params)
{
$class = substr(get_called_class(), 0, -7) . 'Api';
return call_user_func_array(array($class, $func), $params);
}
}
class aFacade
{
public static function __callstatic($func, $params)
{
// 這里也可以用debug_backtrace()
$class = substr(get_called_class(), 0, -6) . 'Adapter';
$obj = new $class();
return call_user_func_array(array($obj, $func), $params);
}
}
class aController
{
public function actionC()
{
aFacade::tt1(['name'], 'age');
}
}
$a = new aController;
$a->actionC();
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門(mén)及常用技巧總結(jié)》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- Yii編程開(kāi)發(fā)常見(jiàn)調(diào)用技巧集錦
- Yii2實(shí)現(xiàn)跨mysql數(shù)據(jù)庫(kù)關(guān)聯(lián)查詢排序功能代碼
- Yii2實(shí)現(xiàn)多域名跨域同步登錄退出
- Yii2下session跨域名共存的解決方案
- Yii基于數(shù)組和對(duì)象的Model查詢技巧實(shí)例詳解
- Yii學(xué)習(xí)總結(jié)之?dāng)?shù)據(jù)訪問(wèn)對(duì)象 (DAO)
- Yii框架實(shí)現(xiàn)的驗(yàn)證碼、登錄及退出功能示例
- Yii框架實(shí)現(xiàn)圖片上傳的方法詳解
- Yii框架分頁(yè)實(shí)現(xiàn)方法詳解
相關(guān)文章
淺談使用 Yii2 AssetBundle 中 $publishOptions 的正確姿勢(shì)
本篇文章主要介紹了淺談使用 Yii2 AssetBundle 中 $publishOptions 的正確姿勢(shì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
laravel 實(shí)現(xiàn)向公共模板中傳值 (view composer)
今天小編就為大家分享一篇laravel 實(shí)現(xiàn)向公共模板中傳值 (view composer),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
iis 7下安裝laravel 5.4環(huán)境的方法教程
最近想嘗試體驗(yàn)下laravel框架,所以自己嘗試在iis 7下安裝laravel 5.4環(huán)境,雖然遇到些問(wèn)題,但最終都解決了,所以下面這篇文章主要給大家介紹了在iis 7下安裝laravel 5.4環(huán)境的方法教程,需要的朋友可以參考下。2017-06-06
PHP數(shù)組實(shí)際占用內(nèi)存大小原理解析
這篇文章主要介紹了PHP數(shù)組實(shí)際占用內(nèi)存大小原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
Windows下部署Apache+PHP+MySQL運(yùn)行環(huán)境實(shí)戰(zhàn)
本來(lái)嘛,部署PHP沒(méi)什么復(fù)雜,找各種版本著實(shí)頭疼了一下。2012-08-08

