Enum defined without package have incorrect class name. (#2988)

Fix the bug by sharing the code for generating class name for both
message and enum.
diff --git a/php/tests/generated_class_test.php b/php/tests/generated_class_test.php
index 39e6c6c..41d63a6 100644
--- a/php/tests/generated_class_test.php
+++ b/php/tests/generated_class_test.php
@@ -1,7 +1,7 @@
 <?php
 
-require_once('generated/NoNameSpaceEnum.php');
-require_once('generated/NoNameSpaceMessage.php');
+require_once('generated/NoNamespaceEnum.php');
+require_once('generated/NoNamespaceMessage.php');
 require_once('test_base.php');
 require_once('test_util.php');
 
@@ -832,12 +832,16 @@
 
     public function testMessageWithoutNamespace()
     {
-        $m = new NoNameSpaceMessage();
+        $m = new TestMessage();
+        $m->setOptionalNoNamespaceMessage(new NoNameSpaceMessage());
+        $m->getRepeatedNoNamespaceMessage()[] = new NoNameSpaceMessage();
     }
 
     public function testEnumWithoutNamespace()
     {
-        $m = new NoNameSpaceEnum();
+        $m = new TestMessage();
+        $m->setOptionalNoNamespaceEnum(NoNameSpaceEnum::VALUE_A);
+        $m->getRepeatedNoNamespaceEnum()[] = NoNameSpaceEnum::VALUE_A;
     }
 
     #########################################################