yhbyun / snowman
Laravel 4 仓库模式生成器
Requires
- php: >=5.3.0
- illuminate/support: ~4.0
This package is auto-updated.
Last update: 2024-09-12 19:19:36 UTC
README
这个Laravel包提供了一系列生成器,以加速您的开发过程。这些生成器包括
snowman:baserepo
snowman:baserepointerface
snowman:model
snowman:presenter
snowman:repo
snowman:repointerface
snowman:reposerviceprovider
snowman:resource
snowman:scaffold
要求
- PHP 5.4+
- Laravel 4.2
安装
首先通过Composer安装此包。编辑您的项目 composer.json
文件以要求 yhbyun/snowman
。
"require-dev": {
"yhbyun/snowman": "dev-master"
}
接下来,在终端更新Composer
composer update --dev
此操作完成后,最后一步是添加服务提供者。打开 app/config/app.php
,并在提供者数组中添加一个新项。
'Yhbyun\Snowman\SnowmanServiceProvider'
就这样!您已经准备就绪。从终端运行 artisan
命令以查看新的 snowman
命令。
php artisan
用法
脚手架
snowman:scaffold
命令会为您做很多事情
- 生成应用文件夹
- 生成基础仓库
- 生成基础仓库接口
- 生成仓库服务提供者
示例
php artisan snowman:scaffold acme
此单个命令将为您提供以下脚手架代码
-
应用文件夹
- app/Acme
- app/Acme/Presenters
- app/Acme/Providers
- app/Acme/Repos
- app/Acme/Repos/Eloquent
-
app/Acme/Providers/RepoServiceProvider.php
-
app/Acme/Repos/BaseRepoInterface.php
-
app/Acme/Repos/Eloquent/BaseRepo.php
资源
snowman:resource
命令会为您做很多事情
- 生成模型
- 生成模型仓库
- 生成模型仓库接口
- 生成模型展示器
- 在
RepoServiceProvider.php
中添加绑定
示例
php artisan snowman:resource acme post
此单个命令将执行以下工作
- app/Acme/Presenters/PostPresenter.php
- app/Acme/Providers/RepoServiceProvider.php : 添加绑定
- app/Acme/Repos/PostRepoInterface.php
- app/Acme/Repos/Eloquent/PostRepo.php
- app/Acme/Post.php
配置
您可能想修改模板 - 生成的文件的格式。为了允许这样做,您需要发布生成器在幕后会引用的模板。
php artisan snowman:publish-templates
这将把所有模板复制到您的 app/templates
目录。您可以按需修改这些模板。如果您希望使用不同的目录
php artisan snowman:publish-templates --path=app/foo/bar/templates
当您运行 snowman:publish-templates
命令时,它还会将配置发布到 app/config/packages/yhbyun/snowman/config/config.php
。此文件看起来可能像这样
<?php return [ /* |-------------------------------------------------------------------------- | Where the templates for the generators are stored... |-------------------------------------------------------------------------- | */ 'model_template_path' => '/Users/yhbyun/my-project/app/templates/model.txt', 'repo_template_path' => '/Users/yhbyun/my-project/app/templates/repo.txt', 'repo_interface_template_path' => '/Users/yhbyun/my-project/app/templates/repo_interface.txt', 'baserepo_template_path' => '/Users/yhbyun/my-project/app/templates/baserepo.txt', 'baserepo_interface_template_path' => '/Users/yhbyun/my-project/app/templates/baserepo_interface.txt', 'presenter_template_path' => '/Users/yhbyun/my-project/app/templates/presenter.txt', 'reposerviceprovider_template_path' => '/Users/yhbyun/my-project/app/templates/reposerviceprovider.txt', /* |-------------------------------------------------------------------------- | Where the generated files will be saved... |-------------------------------------------------------------------------- | */ 'target_parant_path' => app_path(), ];
此外,当您在此文件中时,请注意,您还可以更新每个生成器的默认目标目录。
Laravel 4 生成器
此包基于 Jeffrey Way的生成器,这是一个在Laravel中不可或缺的包。