protobuf/php/tests/proto/test_php_namespace.proto
Brent Shaffer 6737954661 PHP namespaces for nested messages and enums (#4536)
* uses namespaces for nested messages and enums

* fixes namespaces for PHP dist

* fixes namespace for Descriptors, adds Cardinality and Kind

* fixes nested namespaces for reserved words and adds tests

* adds tests and generator fix for php class prefixes

* fixes escaping of protobuf packages, enum comments, misc others

* nice refactor of generated code

* adds class files for backwards compatibility

* simplifies code with templates

* adds compatibility files to makefile

* cleanup of generator and fixes nested namespace bug

* regenerates proto types

* remove internal BC classes

* adds deprecated warning, adds methods back

* simplifies if statement

* fixes dist files

* addresses review comments

* adds back TYPE_URL_PREFIX constant

* adds @deprecated to old nested class files

* skips tests which require a separate process when protobuf.so is enabled

* Adds tests for legacy nested classes that do not require separate processes to test

* uses legacy names for GPBUtil message check

* adds block for IDE @deprecated message

* Namespace for nested message/enum in c extension

* Remove unused code
2018-05-24 13:39:41 -07:00

32 lines
615 B
Protocol Buffer

syntax = "proto3";
package foo;
option php_namespace = "Php\\Test";
option php_metadata_namespace = "Metadata\\Php\\Test";
message TestNamespace {
int32 a = 1;
// Test nested messages, enums, and reserved names
NestedMessage nested_message = 2;
NestedEnum nested_enum = 3;
Empty reserved_name = 4;
message NestedMessage {
int32 a = 1;
}
enum NestedEnum {
ZERO = 0;
};
// Test reserved name
message Empty {
NestedMessage nested_message = 1;
NestedEnum nested_enum = 2;
message NestedMessage {
int32 a = 1;
}
enum NestedEnum {
ZERO = 0;
};
}
}