Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Alibaba MNN FlatBuffers IDL Gen PHP

From Leeroopedia


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);

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment