当前位置: 首页 > news >正文

百度公司官方网站安徽住建和城乡建设厅官网

百度公司官方网站,安徽住建和城乡建设厅官网,南雄网站建设,四川建设教育网官网在相对复杂的项目中#xff0c;我们可以使用分层来减少代码耦合#xff0c;并封装一些常用方法来加快开发速度. 因此#xff0c;在实际开发中#xff0c;代码可以分为: 控制器层#xff0c;服务层#xff0c;逻辑层#xff0c;模型层等. 服务层: 所谓的服务层#xff0… 在相对复杂的项目中我们可以使用分层来减少代码耦合并封装一些常用方法来加快开发速度. 因此在实际开发中代码可以分为: 控制器层服务层逻辑层模型层等. 服务层: 所谓的服务层我们可以理解为一个统一的输出层控制器访问数据必须通过服务层进行访问以保证数据访问的一致性. 因此当数据结构发生变化时我们只需要修改数据层或逻辑层而控制器仅需要访问服务层而不管逻辑层和模型层中的任何操作和更改. 在实际应用中我们发现服务层和逻辑层中有很多重复的方法和代码. 那么php调用类的方法有什么方法可以减少代码的重复性 首先我们使用php的__call方法将服务层的请求转移到逻辑层那么如何在不知道该方法有多少参数的情况下调用该方法呢 反射 即使将类成员定义为私有成员也可以从外部访问它. 您也可以访问类成员和方法而无需创建类的实例. PHP从5.0版开始增加了一种反射机制. 它提供了一组功能强大的反射API使您可以在PHP运行时环境中访问和使用类方法属性参数和注释. 它的功能非常强大. 它通常用于高扩展PHP框架中自动加载插件自动生成文档甚至可以用于扩展PHP语言. 因为它是PHP的内置oop扩展所以它是语言本身的功能因此可以使用它而无需其他扩展或配置. 下面我们使用PHP反射来实现php调用类的方法而无需实例化逻辑层调用其方法并完成结构返回. 首先我们在__call中收到要调用的方法和传递的参数. public function __call($func, $arguments) { return $this-invokeLogicObjectFunc($func, $arguments); } 接下来我们使用反射来实现调用过程: final private function invokeLogicObjectFunc($func, $arguments) { $class  $this-logicLayer.$this-logicName; if(!class_exists($class)) { throw new Exception(class .$this-logicName. not exist); } $object  new \ReflectionClass($class); if(!$object-hasMethod($func)) { throw new Exception(method .$func. in class .$this-logicName.  is not exist); } $objectInstance  $object-newInstance(); $reflectionMethod  new \ReflectionMethod($class, $func); //检测成员方法是否存在 if(empty($reflectionMethod)) { throw new Exception(class .$this-logicName.  not exist method. $func); } //校验成员方法是否是public if (!$reflectionMethod-isPublic()) { throw new Exception(class . $this-logicName.  method is not allow access); } $parameters  $reflectionMethod-getParameters(); if (empty($parameters)) { return $reflectionMethod-invoke($objectInstance); } else { return $reflectionMethod-invoke($objectInstance, ...$arguments); } } 注意: 调用也可以使用invokeArgs来实现. 此外我们还可以使用PHP反射来实现API文档的主动生成(使用反射来获取批注解析为API文档)自动调用类等. 本文来自电脑杂谈转载请注明本文网址 http://www.pc-fly.com/a/ruanjian/article-254676-1.html
http://www.hkea.cn/news/14530362/

相关文章:

  • 免费做效果图的网站公司官方网站建设费计入什么科目
  • 商业网站开发 流程手机端页面模板
  • 链接关系 网站层次结构网站空间到期提示
  • 花店网站设计网站发布之后上传文件路径变了
  • 潜水艇官方网站代理宁波seo基础入门
  • 接单网站做火牛上海企业名录大全黄页
  • 佛山网站制作专业公司公司网站备案有什么用
  • 郴州网站建设专业现状报告大数据营销的特点
  • asp 网站建设教程购物网站开发需要什么技术
  • ps做网站视图大小外贸卖货哪个平台好
  • 凡科做网站友情链接怎么做定制网站建设简介
  • 网站seo优化要怎么做攀枝花网站seo
  • 网站点击量怎么看效果图公司
  • 做暧暧国外网站wordpress 提高速度
  • 金华建设网站的公司电子商务平台加盟
  • 网站被抄袭怎么办广州电子商务网站建设费用
  • 天津百度搜索网站排名建网站的 公司
  • 网页小游戏怎么玩云seo
  • 佛山公司网站推广外包服务安徽全过程网站搭建案例
  • 网站建设的关键问题注册公司流程和费用联系人不一样
  • 沈阳网官方网站门户网站开发步骤
  • 描述出你要建设网站的主题龙果学院大型网站稳定性建设
  • 我市精神文明建设的门户网站seo推广专员招聘
  • 延吉市网站建设网站建设 发展历程
  • 海北高端网站建设国外案例网站
  • 网站广告基本防护怎么做西安网站建设罗鑫
  • 百度官方网站下载wordpress主题the 7
  • 网站建设合同书缴纳印花税吗wordpress网站前台打开慢
  • 百度做公司网站html网页制作代码大全免费
  • 旅游网站设计模板口红的推广软文