Standardize enum static methods across PHP and JavaScript

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-12-10 03:01:48 +00:00
parent f4b842596e
commit 4c0a68f949
20 changed files with 302 additions and 177 deletions

View File

@@ -167,15 +167,16 @@ class Document_Models_Command extends FrameworkDeveloperCommand
if (property_exists($className, 'enums') && !empty($className::$enums)) {
foreach ($className::$enums as $columnName => $enumDefinitions) {
// Add enum accessor properties
// Add enum accessor properties (instance properties for current value)
$enumProperties[] = " * @property-read string \${$columnName}_label";
$enumProperties[] = " * @property-read string \${$columnName}_constant";
$enumProperties[] = " * @property-read array \${$columnName}_enum_val";
// Add enum static methods
$enumMethods[] = " * @method static array {$columnName}_enum()";
$enumMethods[] = " * @method static array {$columnName}_enum_select()";
$enumMethods[] = " * @method static array {$columnName}_enum_ids()";
// Add enum static methods (mirrored in JavaScript stubs)
$enumMethods[] = " * @method static array {$columnName}_enum_val() Get all enum definitions with full metadata";
$enumMethods[] = " * @method static array {$columnName}_enum_select() Get selectable items for dropdowns";
$enumMethods[] = " * @method static array {$columnName}_enum_labels() Get simple id => label map";
$enumMethods[] = " * @method static array {$columnName}_enum_ids() Get array of all valid enum IDs";
// Generate constants for each enum value
foreach ($enumDefinitions as $value => $definition) {