當前位置: 首頁>>代碼示例>>PHP>>正文


PHP DescriptorProto::getFieldList方法代碼示例

本文整理匯總了PHP中Google\Protobuf\DescriptorProto::getFieldList方法的典型用法代碼示例。如果您正苦於以下問題:PHP DescriptorProto::getFieldList方法的具體用法?PHP DescriptorProto::getFieldList怎麽用?PHP DescriptorProto::getFieldList使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Google\Protobuf\DescriptorProto的用法示例。


在下文中一共展示了DescriptorProto::getFieldList方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: getUniqueFieldName

 /**
  * @param \google\protobuf\DescriptorProto $descriptor
  * @param string                           $default
  *
  * @return string
  */
 protected function getUniqueFieldName(DescriptorProto $descriptor, $default)
 {
     $extensions = $descriptor->getExtensionList() ?: [];
     $fields = $descriptor->getFieldList() ?: [];
     $name = $default;
     $names = [];
     $count = 0;
     foreach ($fields as $field) {
         $names[$field->getName()] = true;
     }
     foreach ($extensions as $field) {
         $names[$field->getName()] = true;
     }
     while (isset($names[$name])) {
         $name = $default . $count++;
     }
     return $name;
 }
開發者ID:protobuf-php,項目名稱:protobuf-plugin,代碼行數:24,代碼來源:BaseGenerator.php

示例2: compileMessage

 public function compileMessage(proto\DescriptorProto $msg, $namespace)
 {
     $s[] = "/**";
     $s[] = " * @constructor";
     $s[] = " * @augments {ProtoJson.Message}";
     $s[] = " * @extends ProtoJson.Message";
     $s[] = " * @memberOf {$namespace}";
     $s[] = " * @param {object} data - Optional, provide initial data to parse";
     $s[] = " */";
     $s[] = "{$namespace}.{$msg->name} = ProtoJson.create({";
     $s[] = "  fields: {";
     $lines = array();
     foreach ($msg->getFieldList() as $field) {
         $lines[] = "    {$field->number}: " . $this->generateField($field);
     }
     $s[] = implode(",\n", $lines);
     $s[] = "  },";
     $s[] = "  ranges: [";
     // @todo dump extension ranges
     $s[] = "  ]";
     $s[] = "});";
     $s[] = "";
     // Compute a new namespace with the message name as suffix
     $namespace .= "." . $msg->getName();
     // Generate getters/setters
     foreach ($msg->getFieldList() as $field) {
         $s[] = $this->generateAccessors($field, $namespace);
     }
     // Generate Enums
     foreach ($msg->getEnumTypeList() as $enum) {
         $s[] = $this->compileEnum($enum, $namespace);
     }
     // Generate nested messages
     foreach ($msg->getNestedTypeList() as $msg) {
         $s[] = $this->compileMessage($msg, $namespace);
     }
     // Collect extensions
     foreach ($msg->getExtensionList() as $field) {
         $this->extensions[$field->getExtendee()][] = array($namespace, $field);
     }
     return implode("\n", $s);
 }
開發者ID:JosephGarrone,項目名稱:flerovium,代碼行數:42,代碼來源:JsonGenerator.php


注:本文中的Google\Protobuf\DescriptorProto::getFieldList方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。