當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。