atnic / lumen-generator
Lumen 框架的生成器。
v0.1.1
2019-06-08 20:46 UTC
Requires
- php: >=7.1.3
- atnic/eloquent-filters: ^2.2
- laravel/lumen-framework: >=5.5 <5.8
- laravel/passport: >=4.0
- vlucas/phpdotenv: ~2.2
Requires (Dev)
- fzaninotto/faker: ~1.4
- mockery/mockery: ~1.0
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-09-09 08:26:38 UTC
README
需求
- php: >=7.1.3,
- phpunit/phpunit: ^7.0
安装
编辑 composer.json
{ "require": { "atnic/lumen-generator": "^0.1" }, "require-dev": { "phpunit/phpunit": "^7.0" } }
然后运行 composer update
。之后执行以下初始步骤
- 设置你的
.env
文件。 - 在
app/User.php
中,将api_token
添加到$hidden
属性中。 - 在
bootstrap/app.php
中,取消注释并添加一些行... $app->withFacades(); $app->withEloquent(); ... $app->routeMiddleware([ 'auth' => App\Http\Middleware\Authenticate::class, ]); ... $app->register(App\Providers\AppServiceProvider::class); $app->register(App\Providers\AuthServiceProvider::class); $app->register(App\Providers\EventServiceProvider::class); $app->register(Atnic\LumenGenerator\Providers\AppServiceProvider::class); $app->register(Atnic\LumenGenerator\Providers\ConsoleServiceProvider::class); $app->register(Laravel\Passport\PassportServiceProvider::class); ...
- 更新
database/factories/ModelFactory.php
,添加password
和api_token
$factory->define(App\User::class, function (Faker\Generator $faker) { return [ 'name' => $faker->name, 'email' => $faker->email, 'password' => app('hash')->make('password'), 'api_token' => str_random() ]; });
- 更新
.gitignore
/database/*.sqlite /storage/*.key
- 在
phpunit.xml
中,如果存在则移除属性syntaxCheck="false"
(例如 Lumen 5.5),因为它与新 phpunit 包不兼容 - 然后运行
php artisan app:install
制作模块(CRUD)
此软件包覆盖了一些 Laravel artisan 命令。
这是在此项目中创建 Foo 模块的示例
php artisan make:controller --model=Foo FooController
然后执行以下步骤
- 检查
database/migrations/
中的新迁移,添加所需的列。 - 检查
database/factories/
中的新工厂,添加所需的属性。 - 检查
app/
中的新模型,添加所需的更改。 - 检查
app/Filters/
中的新过滤器,完成所有的TODO:
并在完成后移除注释。 - 检查英文
resources/lang/en
并从英文复制到resources/lang/id
,根据需要添加语言。 - 检查
app/Http/Controllers/
中的新控制器,在方法relations()
visibles()
fields()
rules()
中完成返回的数组,完成所有的TODO:
并在完成后移除注释。 - 检查
app/Policies/
中的新策略,完成所有的TODO:
并在完成后移除注释。 - 不需要将新的策略追加到
app/Providers/AuthServiceProvider.php
中的$policies
属性。此软件包处理策略自动发现,甚至适用于 Laravel < 5.8。 - 检查
tests/Feature/
中的新测试,完成所有的TODO:
并在完成后移除注释。
其他有用命令
# Creating Nested Controller php artisan make:controller --parent=Foo --model=Bar Foo/BarController # Create Single Action Controller php artisan make:controller DashboardController
所有新/覆盖的命令都可以在 vendor/atnic/lumen-generator/app/Console/Commands
中查看。