承接 harshadeva/interface-generator 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

harshadeva/interface-generator

Composer 安装命令:

composer require harshadeva/interface-generator

包简介

Simplify Laravel development by generating repository and interface files with automatic service provider binding

README 文档

README

The harshadeva/interface-generator package simplifies the implementation of the Repository pattern in Laravel by automating the creation of interfaces, repositories, and service provider bindings. With a single Artisan command, you can generate custom repositories and interfaces, and ensure they are correctly bound in your application.

Features

  • Automated Repository and Interface Creation: Quickly generate repository and interface files using a simple Artisan command.
  • Dynamic Service Provider Binding: Automatically binds repositories and interfaces to the RepositoryServiceProvider.
  • Smart Service Provider Management: If the RepositoryServiceProvider does not exist, the package will create it and add it to the config/app.php providers array.

Installation

Install the package via Composer:

composer require harshadeva/interface-generator

Usage

Generate a repository and interface using the Artisan command:

php artisan make:interface CustomName

What Happens:

  1. The command generates:

    • CustomNameRepositoryInterface
    • CustomNameRepository
  2. Binds the interface to its corresponding repository in the RepositoryServiceProvider.

  3. If the RepositoryServiceProvider does not exist:

    • It will automatically create it.
    • Adds the RepositoryServiceProvider to the config/app.php providers array.

Example

Run the following command:

php artisan make:interface User

This will create:

  • App\Repositories\UserRepositoryInterface
  • App\Repositories\UserRepository

Additionally, the package will ensure the following binding is added to your RepositoryServiceProvider:

$this->app->bind(UserRepositoryInterface::class, UserRepository::class);

New Feature: Publish Stubs

The interface-generator package now supports publishing stub files for customizing the generated files. You can publish the stubs either using the custom Artisan command interface-generator:stub-publish or Laravel’s default stub:publish command.

What Happens When You Publish Stubs:

  • The stub files will be published to the stubs/interface-generator directory.
  • These stubs serve as templates for generating repository interfaces and implementations, allowing you to customize the file structure, contents, or other aspects as needed.

How to Publish Stubs:

  1. Using the Custom Command:

    php artisan interface-generator:stub-publish
  2. Using Laravel's Default Command: If the package is already installed, you can publish the stubs via Laravel’s default stub:publish command:

    php artisan stub:publish

The published stubs will be located in the stubs/interface-generator directory, and you can modify them to suit your project’s needs. These stubs will be used as the base for creating files when running the make:interface command.

Customizing the Output

If you want to customize the directory structure or namespace, you can modify the generated files after they are created.

Requirements

  • Laravel 8.x or higher
  • PHP 7.4 or higher

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue if you encounter any problems or have suggestions for new features.

License

This package is open-sourced software licensed under the MIT license.

harshadeva/interface-generator 适用场景与选型建议

harshadeva/interface-generator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 15 次下载、GitHub Stars 达 1, 最近一次更新时间为 2024 年 12 月 15 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「repository」 「service provider」 「interface」 「maker」 「binder」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 harshadeva/interface-generator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 harshadeva/interface-generator 我们能提供哪些服务?
定制开发 / 二次开发

基于 harshadeva/interface-generator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 15
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 39
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-12-15