Implementation:Alibaba MNN FlatBuffers IDL Gen PHP
| Knowledge Sources | |
|---|---|
| Domains | Serialization, Code_Generation |
| Last Updated | 2026-02-10 12:00 GMT |
Overview
PHP code generator backend that produces FlatBuffers accessor classes for the PHP programming language.
Description
idl_gen_php.cpp implements the PHP code generation backend for flatc. It generates PHP classes with accessor methods that read FlatBuffer binary data using the PHP FlatBuffers runtime library. Each table and struct in the schema produces a corresponding PHP class with getter methods, and enums produce abstract classes with constants. The generated code follows PSR-4 namespace conventions.
Usage
Vendored dependency used internally by MNN for model serialization. Not directly imported by end users.
Code Reference
Source Location
- Repository: Alibaba_MNN
- File:
3rd_party/flatbuffers/src/idl_gen_php.cpp - Lines: 1-943
Signature
namespace flatbuffers {
bool GeneratePhp(const Parser &parser,
const std::string &path,
const std::string &file_name);
}
Import
#include "flatbuffers/idl.h"
// Generator invoked internally by flatc
I/O Contract
| Input | Output |
|---|---|
| Parsed Parser object with schema definitions | *.php PHP class files (one per type, PSR-4 layout)
|
Usage Examples
// Invoked by flatc:
// flatc --php schema.fbs
// Internally:
flatbuffers::Parser parser;
parser.Parse(schema);
flatbuffers::GeneratePhp(parser, output_path, file_name);