triun / laravel-model-base
为 Laravel 生成 Eloquent 模型基类
Requires
- php: ^8.0.2
- doctrine/dbal: ^3.3
- illuminate/config: ^9.0
- illuminate/console: ^9.0
- illuminate/database: ^9.0
- illuminate/filesystem: ^9.0
- illuminate/support: ^9.0
- triun/diff: ^1.0
Requires (Dev)
- laravel/framework: ^9.0
- laravel/lumen-framework: ^9.0
- nunomaduro/collision: ^6.2
- nunomaduro/larastan: ^2.1
- orchestra/testbench: ^7.0
- phpcompatibility/php-compatibility: *
- phpstan/phpstan: ^1.6
- phpunit/phpunit: ^9.5.10
- squizlabs/php_codesniffer: ^3.4
Suggests
- triun/laravel-model-validable: Model validation and rules generator modifier
- 9.x-dev
- v9.1.0
- v9.0.3
- v9.0.2
- v9.0.1
- v9.0.0
- 6.x-dev
- 6.0.14
- 6.0.13
- 6.0.12
- 6.0.11
- 6.0.10
- 6.0.9
- 6.0.8
- 6.0.7
- 6.0.6
- 6.0.5
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.8.x-dev
- 5.8.4
- 5.8.3
- 5.8.2
- 5.8.1
- 5.8.0
- 5.7.x-dev
- 5.7.0
- 5.6.x-dev
- 5.6.2
- 5.6.1
- 5.6.0
- 5.5.x-dev
- 5.5.1
- 5.5.0
- 5.4.x-dev
- 5.4.1
- 5.2.x-dev
- v5.2.0
- dev-new-10x
- dev-dependabot/composer/guzzlehttp/psr7-2.5.0
This package is auto-updated.
Last update: 2024-09-13 03:40:59 UTC
README
为 Laravel 生成 Eloquent 模型基类。
关于
Laravel-Model-Base 是一个 Laravel 命令,用于在创建新模型时执行重复性任务,并将其保存到抽象模型基类中,这样您就可以随时更新它,而无需担心覆盖模型中的手动更改。
模型基类的主要目标是基于数据库表结构生成 Eloquent 配置,这意味着它不能实现任何业务逻辑,或任何其他非来自数据库本身的逻辑。如果您想添加额外的属性、方法、接口或特性,可以在模型本身中实现。
此生成器可以通过配置参数进行定制,但也可以通过 修饰符 进行扩展。
还可以选择性地生成模型,但在此情况下,它永远不会被此工具覆盖。
安装
使用以下命令通过 composer 安装此包
composer require --dev triun/laravel-model-base
更新 composer 后,将服务提供者添加到 config/app.php 中的 providers 数组
Triun\ModelBase\ModelBaseServiceProvider::class,
仅开发安装
要仅在开发系统上安装此包,请在 composer 命令中添加 --dev
标志
composer require --dev triun/laravel-model-base:dev-master
而不是在 config/app.php
文件中添加服务提供者,您应该在 app/Providers/AppServiceProvider.php
文件中 register()
方法内添加以下代码
public function register() { if ($this->app->environment() !== 'production') { $this->app->register(\Triun\ModelBase\ModelBaseServiceProvider::class); } // ... }
这将允许您的应用程序在非生产环境中加载 Laravel 模型基类。
使用方法
创建一个模型基类
php artisan make:mode-base table_name [--connection connection_name]
批量创建
php artisan make:mode-base-bulk [--connection connection_name]
注意:如果您没有在配置文件中设置连接(model-base.bulk.connections
),则它将尝试运行数据库配置文件(database.connections
)中所有可用的连接。
自定义
您可以使用以下命令将配置文件发布到您的应用程序中
php artisan vendor:publish --provider="Triun\ModelBase\ModelBaseServiceProvider" --tag=config
Lumen
如果您正在使用 Lumen,可能需要执行一些手动步骤...
将配置文件复制到您的 config
目录
cp vendor/triun/laravel-model-base/config/model-base.php config/
您还可能需要在 bootstrap/app.php
文件中取消以下行的注释
<?php # bootstrap/app.php $app = new Laravel\Lumen\Application( realpath(__DIR__.'/../') ); $app->withFacades(true, [ Illuminate\Support\Facades\App::class => 'App', Illuminate\Support\Facades\File::class => 'File', ]); $app->withEloquent(); $app->register(App\Providers\AppServiceProvider::class);
这样我们就可以使用 Facades 和 Eloquent,以及向 AppServiceProvider
添加一些内容
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { public function register() { $this->app->instance('path.config', app()->basePath() . DIRECTORY_SEPARATOR . 'config'); if ($this->app->environment() !== 'production') { $this->app->configure('model-base'); $this->app->register(\Triun\ModelBase\ModelBaseServiceProvider::class); } } }
// TODO
除了配置文件外,您还可以添加或创建自己的 修饰符。
修饰符
如果您想向生成器添加行为,可以使用骨架修饰符来实现。
修饰符包
以下是一些修饰符包
// TODO
添加修饰符
如果您已经有了任何修饰符包,您可以通过在 config/model-base.php
文件中的 'modifiers' 数组中添加它来加载它。
// TODO
创建自己的修饰符
如何创建一个修饰符。
// TODO
文档
Laravel-Model-Base 的文档可在 Github wiki 上找到。
问题
可以在 Github Issue Tracker 上提交错误报告和功能请求。
贡献
请参阅CONTRIBUTING.md获取信息。
许可证
Laravel Model Base 是开源软件,遵循MIT 许可协议