elenyum/maker
Composer 安装命令:
composer require elenyum/maker
包简介
This bundle make module width controller, service and entity from json or console command.
关键字:
README 文档
README
ElenyumMakerBundle is a tool for generating Symfony modules based on Elenyum specifications (ESL). The bundle allows you to create controllers, entities, services, and repositories from a pre-defined JSON file.
Installation
composer require elenyum/maker
Configuration
1. Add the Route
Manually add the route for module generation in config/routes/elenyum_maker.yaml:
app.maker: path: /elenyum/dash/maker methods: - POST - GET defaults: { _controller: elenyum_maker }
2. Configure Security
Add access control rules in config/packages/security.yaml:
security: access_control: - { path: ^/elenyum/dash/maker, roles: ROLE_ADMIN }
3. Bundle Configuration
Create a configuration file config/packages/elenyum_maker.yaml:
elenyum_maker: cache: enable: false item_id: 'elenyum_maker' root: path: '%kernel.project_dir%/module' namespace: 'Module' prefix: 'Module' doctrine: names: - 'ElenyumAuthorizationBundle' securityName: 'api_key'
Usage
Console Command
To create a module, use the following console command:
php bin/console elenyum:make -f path/to/els.json
- -f, --file: Path to the ESL specification JSON file.
Aliases
Alias for the command:
php bin/console e:m -f path/to/els.json
Generated Files
When generating a module, the following structure is created:
/module/{ModuleName}/v1/
├── Controller
│ ├── {Entity}GetController.php
│ ├── {Entity}ListController.php
│ ├── {Entity}PostController.php
│ ├── {Entity}PutController.php
│ └── {Entity}DeleteController.php
├── Entity
│ └── {Entity}.php
├── Service
│ └── {Entity}Service.php
└── Repository
└── {Entity}Repository.php
- Controllers are created for
GET,POST,PUT,DELETEmethods. - Services and repositories are generated for each entity.
OpenAPI Documentation
OpenAPI documentation is generated using the securityName parameter from elenyum_maker.yaml. It is applied in the controller attributes as shown:
#[Auth(name: 'Bearer', model: News::class)]
If no authorization is required, the parameter can be left empty.
Example of Full Route Configuration
app.maker: path: /elenyum/dash/maker methods: - POST - GET defaults: { _controller: elenyum_maker }
Notes
- Configuration and route files are created manually.
- Doctrine configuration is set in
elenyum_maker.yaml. - The path for module generation:
%kernel.project_dir%/module.
elenyum/maker 适用场景与选型建议
elenyum/maker 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 22 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 12 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「auto」 「creator」 「generated-code」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 elenyum/maker 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 elenyum/maker 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 elenyum/maker 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A fork of greenlion/php-sql-parser made because we were having trouble getting a production needed fix accepted and merged into their repo. A pure PHP SQL (non validating) parser w/ focus on MySQL dialect of SQL
Auto deployment module for Zend Framework 2
Service auto install for Nette Framework
Laravel service creator
Add a factory management for Laramore
统计信息
- 总下载量: 22
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 18
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-12-07