Yii框架使用魔术方法实现跨文件调用功能示例

 更新时间:2017年05月20日 11:38:56   作者:molaifeng  
这篇文章主要介绍了Yii框架使用魔术方法实现跨文件调用功能,涉及Yii框架中php面向对象程序设计相关操作技巧,需要的朋友可以参考下

本文实例讲述了Yii框架使用魔术方法实现跨文件调用。分享给大家供大家参考,具体如下:

目前项目用yii框架,controller调用facade的方法,facade调用adapter的方法,adapter调用api的方法,api封装了sql方法,但是大部分情况下,只是单纯的调用,但限于目前项目的规则,都要写方法,而方法都是单纯的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优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

相关文章

  • 分享自定义的几个PHP功能函数

    分享自定义的几个PHP功能函数

    这篇文章主要介绍了分享自定义的几个PHP功能函数,本文罗列的都是WEB开发中常用的一些功能函数,例如提交过滤、字符串截取、IP地址匿名化、隐藏文件真实路径等,需要的朋友可以参考下
    2015-04-04
  • 浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势

    浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势

    本篇文章主要介绍了浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • laravel 实现向公共模板中传值 (view composer)

    laravel 实现向公共模板中传值 (view composer)

    今天小编就为大家分享一篇laravel 实现向公共模板中传值 (view composer),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • php获取referer防非法访问

    php获取referer防非法访问

    这篇文章主要介绍了php获取referer防非法访问,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • iis 7下安装laravel 5.4环境的方法教程

    iis 7下安装laravel 5.4环境的方法教程

    最近想尝试体验下laravel框架,所以自己尝试在iis 7下安装laravel 5.4环境,虽然遇到些问题,但最终都解决了,所以下面这篇文章主要给大家介绍了在iis 7下安装laravel 5.4环境的方法教程,需要的朋友可以参考下。
    2017-06-06
  • PHP数组实际占用内存大小原理解析

    PHP数组实际占用内存大小原理解析

    这篇文章主要介绍了PHP数组实际占用内存大小原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • 深入理解PHP JSON数组与对象

    深入理解PHP JSON数组与对象

    很多朋友很郁闷JSON数据中有时格式不定,一会儿是数组,一会儿是对象,怎么回事呢?下面小编给大家带来了php json数组与对象的相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧
    2016-07-07
  • 详解如何在PHP中使用布隆过滤器

    详解如何在PHP中使用布隆过滤器

    布隆过滤器(Bloom Filter)是一种用于快速判断一个元素是否属于某个集合的概率型数据结构,本文主要为大家介绍一下如何在PHP中使用布隆过滤器,需要的可以参考一下
    2023-06-06
  • Windows下部署Apache+PHP+MySQL运行环境实战

    Windows下部署Apache+PHP+MySQL运行环境实战

    本来嘛,部署PHP没什么复杂,找各种版本着实头疼了一下。
    2012-08-08
  • php-fpm配置详解

    php-fpm配置详解

    这篇文章主要介绍了php-fpm配置详解,需要的朋友可以参考下
    2014-02-02

最新评论