Yii框架使用魔術方法實現(xiàn)跨文件調用功能示例
本文實例講述了Yii框架使用魔術方法實現(xiàn)跨文件調用。分享給大家供大家參考,具體如下:
目前項目用yii框架,controller調用facade的方法,facade調用adapter的方法,adapter調用api的方法,api封裝了sql方法,但是大部分情況下,只是單純的調用,但限于目前項目的規(guī)則,都要寫方法,而方法都是單純的return,于是寫了個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();
更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優(yōu)秀開發(fā)框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。
相關文章
淺談使用 Yii2 AssetBundle 中 $publishOptions 的正確姿勢
本篇文章主要介紹了淺談使用 Yii2 AssetBundle 中 $publishOptions 的正確姿勢,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
laravel 實現(xiàn)向公共模板中傳值 (view composer)
今天小編就為大家分享一篇laravel 實現(xiàn)向公共模板中傳值 (view composer),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
iis 7下安裝laravel 5.4環(huán)境的方法教程
最近想嘗試體驗下laravel框架,所以自己嘗試在iis 7下安裝laravel 5.4環(huán)境,雖然遇到些問題,但最終都解決了,所以下面這篇文章主要給大家介紹了在iis 7下安裝laravel 5.4環(huán)境的方法教程,需要的朋友可以參考下。2017-06-06
Windows下部署Apache+PHP+MySQL運行環(huán)境實戰(zhàn)
本來嘛,部署PHP沒什么復雜,找各種版本著實頭疼了一下。2012-08-08

