aboutsummaryrefslogtreecommitdiff
path: root/php/src/Google/Protobuf/descriptor.php
diff options
context:
space:
mode:
authorPaul Yang <TeBoring@users.noreply.github.com>2017-06-05 00:10:18 -0700
committerGitHub <noreply@github.com>2017-06-05 00:10:18 -0700
commit6f325805c0bc956f927b0e2dbfb4dd8133b4ed69 (patch)
tree2f7d596b8e19933b67868d7378bb663960b75f87 /php/src/Google/Protobuf/descriptor.php
parentfbaad3617fbfadafbcc653a621620a5081df64eb (diff)
downloadprotobuf-6f325805c0bc956f927b0e2dbfb4dd8133b4ed69.tar.gz
protobuf-6f325805c0bc956f927b0e2dbfb4dd8133b4ed69.tar.bz2
protobuf-6f325805c0bc956f927b0e2dbfb4dd8133b4ed69.zip
Add new file option php_namespace. (#3162)
* Add new file option php_namespace. Use this option to change the namespace of php generated classes. Default is empty. When this option is empty, the package name will be used for determining the namespace. * Uncomment commented tests * Revert gdb test change * Update csharp descriptor. * Add test for empty php_namespace.
Diffstat (limited to 'php/src/Google/Protobuf/descriptor.php')
-rw-r--r--php/src/Google/Protobuf/descriptor.php13
1 files changed, 13 insertions, 0 deletions
diff --git a/php/src/Google/Protobuf/descriptor.php b/php/src/Google/Protobuf/descriptor.php
index 35e4929b..b7a3a550 100644
--- a/php/src/Google/Protobuf/descriptor.php
+++ b/php/src/Google/Protobuf/descriptor.php
@@ -282,6 +282,19 @@ function getFullClassName(
$class_name_without_package =
getClassNameWithoutPackage($message_name_without_package, $file_proto);
+
+ $option = $file_proto->getOptions();
+ if (!is_null($option) && $option->hasPhpNamespace()) {
+ $namespace = $option->getPhpNamespace();
+ if ($namespace !== "") {
+ $classname = $namespace . "\\" . $class_name_without_package;
+ return;
+ } else {
+ $classname = $class_name_without_package;
+ return;
+ }
+ }
+
if ($package === "") {
$classname = $class_name_without_package;
} else {