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实现单文件上传和多文件上传的代码以及问题解决方案,一起学习参考下。
    2017-12-12
  • CodeIgniter配置之config.php用法实例分析

    CodeIgniter配置之config.php用法实例分析

    这篇文章主要介绍了CodeIgniter配置之config.php用法,结合实例形式详细的分析了CodeIgniter中配置文件config.php的参数含义及具体使用技巧,需要的朋友可以参考下
    2016-01-01
  • 一文带你学会使用PHP接口

    一文带你学会使用PHP接口

    PHP中的Interface是一种非常重要的特性,它允许开发人员定义一组规范或者约束,以确保类之间的互操作性和兼容性。在本文中,我们将详细介绍PHP中的Interface的概念、定义、实现、使用、使用场景以及其它相关的一些知识点,需要的朋友可以参考下
    2023-04-04
  • Laravel框架Blade模板简介及模板继承用法分析

    Laravel框架Blade模板简介及模板继承用法分析

    这篇文章主要介绍了Laravel框架Blade模板简介及模板继承用法,结合实例形式分析了Laravel框架Blade模板功能及模板继承相关操作技巧,需要的朋友可以参考下
    2019-12-12
  • php静态文件返回304技巧分享

    php静态文件返回304技巧分享

    这篇文章主要分享了一则php静态文件返回304的小技巧,需要的朋友可以参考下
    2015-01-01
  • Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)

    Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)

    这篇文章主要介绍了Zend Framework教程之连接数据库并执行增删查的方法,结合实例形式详细分析了Zend Framework数据库的配置及执行增删改查等操作的相关实现方法,需要的朋友可以参考下
    2016-03-03
  • 织梦sitemap地图实时推送给百度的教程

    织梦sitemap地图实时推送给百度的教程

    这篇文章主要介绍了织梦sitemap地图实时推送给百度的教程,需要的朋友可以参考下
    2015-08-08
  • php求正负数数组中连续元素最大值示例

    php求正负数数组中连续元素最大值示例

    问题是给出数组,该数组由正负数字组成,找出该数组中连续元素组成的子数组的最大值。下面是PHP实现的示例,需要的朋友可以参考下
    2014-04-04
  • YII框架关联查询操作示例

    YII框架关联查询操作示例

    这篇文章主要介绍了YII框架关联查询操作,结合实例形式分析了Yii框架关联查询的实现方法及相关操作注意事项,需要的朋友可以参考下
    2019-04-04
  • PHP入门经历和学习过程分享

    PHP入门经历和学习过程分享

    对于PHP程序设计语言来说。每个人的学习方式不同,写这篇文章的目的是分享一下自己的学习过程,仅供参考,不要一味的用别人的学习方法,找对自己有用的学习方式
    2014-04-04

最新评论