lukaskorl / apigen
为Laravel 4搭建RESTful API
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
- lukaskorl/administrator: 4.11.2.*
- lukaskorl/repository: 0.*
- way/generators: 2.*
Requires (Dev)
- way/generators: 2.*
This package is not auto-updated.
Last update: 2024-09-28 15:51:20 UTC
README
APIgen 为您搭建RESTful API。如果您选择 APIgen,它也会为您设置管理界面。
注意: APIgen 目前处于快速开发阶段。强烈建议不要在生产环境中使用 APIgen 的当前版本。我正在努力尽快使 APIgen 达到稳定版本。
安装
composer require lukaskorl/apigen
php artisan apigen:publish
安装后的推荐步骤
将 apigen:publish
命令添加到项目 composer.json
文件的 post-*-cmd
脚本中,如下所示
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize",
"php artisan apigen:publish"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize",
"php artisan apigen:publish"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
用法
关于命名空间说明
默认情况下,APIgen 使用命名空间 Api
。如果您不使用自己的命名空间,则需要在该项目的 composer.json
文件中注册此命名空间进行自动加载。要将 Api
命名空间注册到您的 composer.json
文件中,请将以下代码段合并到您的 composer.json
文件中
{
"autoload": {
"psr-4": {
"Api\\": "app/Api"
}
}
}
生成资源
当生成资源时,APIgen 将为您生成以下内容
要创建新资源,只需运行 Artisan 命令
php artisan apigen:resource dog --fields="name:string, age:integer"
可选地,您可以通过添加 --namespace
选项来指定命名空间
php artisan apigen:resource dog --fields="name:string, age:integer" --namespace="Zoo\Animals"
有选项可以跳过一些生成器
--no-admin
阻止设置管理后端。--no-route
阻止将路由添加到应用程序的routes.php
文件中。--no-controller
阻止生成API控制器。因此,您可以选择性地创建迁移、模型和仓库。请注意,如果没有生成控制器,也会跳过路由设置。--no-migration
如果您决定手动设置,则阻止生成迁移文件。
生成仓库
当生成仓库时,APIgen 将为您生成以下内容
- 您的仓库接口:通过实现接口,可以轻松切换实现。
- 您的实体转换器:转换器在将实体发送到客户端之前过滤输出。因此,您可以对响应中的实体属性的可视性、别名和类型进行细粒度控制。
- 您的仓库Eloquent CRUD实现:生成的仓库默认实现使用 Eloquent 访问数据库层。
生成模型
APIgen 可以为您生成Eloquent模型。
设置管理后端
APIgen 默认支持 FrozenNode/Laravel-Administrator。但是 APIgen 使用更先进的分支 lukaskorl/administrator。
贡献
修改JavaScript & CSS
JavaScript 和 CSS 文件使用gulp预编译。如果您对源代码进行了修改,则需要重新编译它们。gulp任务已全部设置。请确保您已安装gulp和bower.io。
npm install -g bower
bower install
npm install gulp -g
npm install gulp gulp-util --save-dev
gem install sass
npm install gulp-ruby-sass gulp-autoprefixer gulp-minify-css gulp-notify gulp-rename gulp-cache gulp-concat gulp-coffee gulp-plumber gulp-uglify --save-dev
如果已安装必要的软件,请执行gulp任务以构建JS & CSS
gulp build