gnu/scaffy-core
最新稳定版本:v1.2.0
Composer 安装命令:
composer require gnu/scaffy-core
包简介
A package that generated models based on your database entities. Works for MS SQL Server, MySql & PostgreSql.
README 文档
README
Scaffy Core is the framework-agnostic core of the Scaffy code generation system. It handles the business logic for generating model scaffolding based on your database schema, following a clean Hexagonal Architecture design.
✨ Features
- 🔌 Completely decoupled from any PHP framework (Laravel, Symfony, etc.)
- 💡 Provides clean ports for database and framework adapters
- 🧱 Reusable across Laravel, CLI tools, or other integrations
- 🧮 Generates model definitions from your actual database metadata
📦 Requirements
- PHP 8.1+
- Composer
🧰 Installation
composer require gnu/scaffy-core
You can now import and use Gnu\Scaffy\Core components in your project.
🧠 Hexagonal Architecture
Scaffy Core sits at the center of a hexagonal architecture:
+-------------------------+
| Framework Adapters | ← e.g. Laravel, CLI, Symfony, CodeIgniter...
+-------------------------+
↑
|
↓
+-------------------------+
| Scaffy Core |
| - Business logic |
| - FrameworkPort |
+-------------------------+
↑
|
↓
+-------------------------+
| Database Adapters | ← e.g. PostgreSQL, SQL Server, MySql...
+-------------------------+
🔧 Usage
Scaffy Core defines the core contracts and logic. To use it:
- Create an adapter implementing
FrameworkPort - Create DB-specific implementations of
DatabasePort - Inject and use them however you want (Laravel, CLI, custom)
Example usage in a Laravel adapter:
$scaffy = new ScaffyService($databasePort); $scaffy->generate($schema);
🧱 Components
Helpers— Utility functions for file and string handlingPorts\FrameworkPort— Interface for framework-side adapters
🧪 Example
use Gnu\Scaffy\Core\Helpers\IOHelper; $path = IOHelper::findRootDirectory('/app/Models');
✅ Goals
- Maintain strict separation between business logic and frameworks
- Promote testability and flexibility across environments
- Encourage modular adapter/plugin design
- Development of Laravel APIs over exising databases.
📄 License
MIT © gnujesus
统计信息
- 总下载量: 21
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-02