* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class Go extends LanguageAbstract { /** * @inheritdoc */ protected function getTemplate(): string { return 'go.go.twig'; } /** * @inheritdoc */ protected function getClientTemplate(): string { return 'go-client.go.twig'; } /** * @inheritdoc */ protected function getGenerator(): GeneratorInterface { return new Schema\Generator\Go($this->namespace); } /** * @inheritDoc */ protected function getFileName(string $identifier): string { return $this->underscore($identifier) . '.go'; } /** * @inheritDoc */ protected function getFileContent(string $code, string $identifier): string { $comment = "\n"; $comment.= '// ' . $identifier . ' generated on ' . date('Y-m-d') . "\n"; $comment.= '// {@link https://github.com/apioo}' . "\n"; $comment.= "\n"; return $comment . "\n" . $code; } private function underscore(string $file): string { return strtolower(preg_replace(array('/([A-Z]+)([A-Z][a-z])/', '/([a-z\d])([A-Z])/'), array('\\1_\\2', '\\1_\\2'), strtr($file, '_', '.'))); } } __halt_compiler();----SIGNATURE:----XS2cjaPV+Xk2cnCvcnqGi+k9wHCVOS4DaLyJGtVhLhH1L1yDZ4469j4NdcKiVToN5FaU3+R8gEnz9EbUiIvMywLHIVN4+o66zi4A1lLyufhpmOIkXj5dTw2UvEe+/dol8cvZGFVPMFcpdZLyJtvn9yBdr5+vG0SDGt9KvhlFnTzmCD1Q2oQ3H/zhtJkrVb6w3eOoCjzex6tmsWDTsRMhZ5PzMnT3rkQS0F/0g6YPY3cAbgBg5UgpxRWIdH6jufxDNzRcFfYC+bjKlTb1EKsmfXuNMNSBy+5TEX3JD8U1l6dC3LX0pKEBVVks7WTKuDQkqD0vdFVZrhmif+GV8SzoecrKENPaL7IJoFfWk99JYBpACuRW3qPLZwmm6K4CW8WI9NfvFb6vd0HDTfUS0PyKW9Mp+KKf+Q7Gfue53Wq4yerAtd6k+b3yOFGhKoZCDtbkURCES1RRe8V/r4pyIe3Wj5xR/WWg/0iP/T08OPS+llRCzNTARvrpUoJQV93FnQuJdLvFwG8ewfHkhrlcEPjv1+/h29YjRXnVPejhpEEEiGY0o76cTkSDYlhcBIp6539UU7u0vvWsKS80SMJ0rwhF6XHiMbATURm9dCM4Fb0Jp1z3ZHwChtB5CRj4s6tAequSwaZU0mg6ZiXihMbssg8SesKk8wM7zBaTfw27Ga4it5Y=----ATTACHMENT:----NTg2MDYyMjIwOTY5OTAyIDczNjMyMzYzOTU3OTA5NTkgNzQ5NTE0OTU3NjUwMzgyOA==