当前位置: 首页 > 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.w-s-a.com/news/103708/

相关文章:

  • 微信网站建设需要那些资料昆明cms模板建站
  • 安庆网站建设兼职中企动力是500强吗
  • 网站排名优化技巧基于网站的网络营销方法有哪些
  • 摄影素材网站做知识问答的网站
  • 中小企业网站建设济南兴田德润电话门店管理系统软件排行
  • 昆明工程建设信息网站柳州网站建设公司哪家好
  • 如何分析网站关键词北京门户网站网址
  • 做网站与做游戏那个好网站域名怎么起
  • 有没有做cad单的网站银行网站建设方案视频
  • 和各大网站做视频的工作高校网站群管理系统
  • 中国建设人才服务信息网是正规网站怎么注销自己名下的公司
  • 网站开发新型技术那些网站做任务领q币
  • 海口手机网站建设wordpress微支付宝
  • 做公司网站需要几天深圳自定义网站开发
  • 做网站学多长时间可以学会推广软件公司
  • 网络网站设计培训长沙建站模板大全
  • 站群搭建移动端处理器天梯图
  • 岳池发展建设集团有限公司门户网站湛江seo咨询
  • 手机网站工具关键词排名是什么意思
  • 游民星空是谁做的网站沈阳网站托管公司
  • 做网站搭建需要什么人vs2017移动网站开发
  • 购物网站开发需要什么技术怎么查看网站是否备案
  • 学做电商那个网站好网站建设投票主题
  • 中卫网站推广网络营销毕业设计做网站大小有什么要求
  • 做问卷网站义乌网站建设推广专家
  • 不会编程怎样建设网站昆明做网站哪家
  • 直播网站模板新营销平台电商网站
  • 建设部指定招标网站免费的企业查询软件
  • 做前端常用的网站及软件下载平台优化是什么意思
  • 企石镇仿做网站wordpress 网站白屏