当前位置: 首页>>代码示例>>PHP>>正文


PHP ReflectionMethod::getSource方法代码示例

本文整理汇总了PHP中ReflectionMethod::getSource方法的典型用法代码示例。如果您正苦于以下问题:PHP ReflectionMethod::getSource方法的具体用法?PHP ReflectionMethod::getSource怎么用?PHP ReflectionMethod::getSource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ReflectionMethod的用法示例。


在下文中一共展示了ReflectionMethod::getSource方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getJoinpointInvocationBody

 /**
  * Creates definition for method body
  *
  * @param Method|ParsedMethod $method Method reflection
  *
  * @return string new method body
  */
 protected function getJoinpointInvocationBody($method)
 {
     $isStatic = $method->isStatic();
     $scope = $isStatic ? $this->staticLsbExpression : '$this';
     $prefix = $isStatic ? AspectContainer::STATIC_METHOD_PREFIX : AspectContainer::METHOD_PREFIX;
     $args = join(', ', array_map(function ($param) {
         /** @var $param Parameter|ParsedParameter */
         $byReference = $param->isPassedByReference() ? '&' : '';
         return $byReference . '$' . $param->name;
     }, $method->getParameters()));
     $body = '';
     if ($this->class->name === $method->getDeclaringClassName() && strpos($method->getSource(), 'func_get_args') !== false) {
         $body = '$argsList = \\func_get_args();' . PHP_EOL;
         if (empty($args)) {
             $scope = "{$scope}, \$argsList";
         } else {
             $scope = "{$scope}, array({$args}) + \$argsList";
         }
     } elseif (!empty($args)) {
         $scope = "{$scope}, array({$args})";
     }
     $body .= "return self::\$__joinPoints['{$prefix}:{$method->name}']->__invoke({$scope});";
     return $body;
 }
开发者ID:quickmobile,项目名称:go-aop-php,代码行数:31,代码来源:ClassProxy.php


注:本文中的ReflectionMethod::getSource方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。