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


PHP ArrayUtils::has方法代码示例

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


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

示例1: publish

 /**
  * @param string      $request
  * @param string|null $resource_type
  * @param string|null $resource_id
  *
  * @return array
  * @throws BadRequestException
  * @throws InternalServerErrorException
  * @throws NotFoundException
  * @throws null
  */
 public function publish($request, $resource_type = null, $resource_id = null)
 {
     /** http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.Sns.SnsClient.html#_publish */
     $data = [];
     if (is_array($request)) {
         if (null !== ($message = ArrayUtils::get($request, 'Message'))) {
             $data = array_merge($data, $request);
             if (is_array($message)) {
                 $data['Message'] = json_encode($message);
                 if (!ArrayUtils::has($request, 'MessageStructure')) {
                     $data['MessageStructure'] = 'json';
                 }
             }
         } else {
             //  This array is the message
             $data['Message'] = json_encode($request);
             $data['MessageStructure'] = 'json';
         }
     } else {
         //  This string is the message
         $data['Message'] = $request;
     }
     switch ($resource_type) {
         case SnsTopic::RESOURCE_NAME:
             $data['TopicArn'] = $this->addArnPrefix($resource_id);
             break;
         case SnsEndpoint::RESOURCE_NAME:
             $data['TargetArn'] = $this->addArnPrefix($resource_id);
             break;
         default:
             //  Must contain resource, either Topic or Endpoint ARN
             $topic = ArrayUtils::get($data, 'Topic', ArrayUtils::get($data, 'TopicArn'));
             $endpoint = ArrayUtils::get($data, 'Endpoint', ArrayUtils::get($data, 'EndpointArn', ArrayUtils::get($data, 'TargetArn')));
             if (!empty($topic)) {
                 $data['TopicArn'] = $this->addArnPrefix($topic);
             } elseif (!empty($endpoint)) {
                 $data['TargetArn'] = $this->addArnPrefix($endpoint);
             } else {
                 throw new BadRequestException("Publish request does not contain resource, either 'Topic' or 'Endpoint'.");
             }
             break;
     }
     try {
         if (null !== ($result = $this->conn->publish($data))) {
             $id = ArrayUtils::get($result->toArray(), 'MessageId', '');
             return ['MessageId' => $id];
         }
     } catch (\Exception $ex) {
         if (null !== ($newEx = static::translateException($ex))) {
             throw $newEx;
         }
         throw new InternalServerErrorException("Failed to push message.\n{$ex->getMessage()}", $ex->getCode());
     }
     return [];
 }
开发者ID:pkdevboxy,项目名称:df-aws,代码行数:66,代码来源:Sns.php


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