slimphp-api / slim-api
生成瘦型API控制器/模型的工具
Requires
- php: >5.6
- pimple/pimple: ^3.0
- slim/slim: ^3.0
- slimphp-api/slim-mvc: 0.1.*
- slimphp-api/slim-phinx: 0.1.*
- symfony/console: ^2.7
Requires (Dev)
- mikey179/vfsstream: 1.*
- phpunit/phpunit: ^5.1
- satooshi/php-coveralls: ^0.7.0@dev
This package is not auto-updated.
Last update: 2024-09-24 04:20:12 UTC
README
#slim-api 基本的slim api项目和生成器
#状态
Alpha,初始化以及创建模型/控制器/脚手架已完成。
#什么是?
一个简单的命令行应用程序,用于生成简单的控制器/模型/迁移、路由和依赖注入,使用Slim和symfony控制台。
###外部模块 默认情况下,应用程序使用phinx和eloquent进行迁移和ORM,这些由外部模块提供: slim-eloquent 和 slim-phinx
#为什么?
我希望能够尽可能容易地创建API端点,我非常喜欢Slim的简洁性,并且在与RoR的糟糕经历后,这似乎是一件有趣的事情去做!
#如何?
###安装
在您的用户帐户中全局安装 composer global require slimphp-api/slim-api dev-master
确保全局composer在您的路径中 export PATH=~/.composer/vendor/bin:$PATH
在 .bashrc
###初始化
基本用法很简单,我们首先必须初始化项目,这会为项目创建一个默认的骨架并初始化phinx配置。
slimapi init <project name> [location]
位置默认为当前工作目录,如果没有指定。
如果您使用不同的迁移/ORM/结构模块,您将需要重新初始化适当的数据源,例如
slimapi init:db
这必须在初始化后从项目的根目录执行。
###模型
然后我们可以生成一个模型,这将创建一个迁移、一个简单的模型类和依赖注入配置。
slimapi generate model <model name> <model definitions>
模型定义是一个空格分隔的列定义列表,形式为 name:type:limit:null:unique
,所以
slimapi generate model Foo bar:integer baz:string:128:false bazbar:string:128::true
将创建一个包含3列的迁移,baz有字符限制且不能为空,bazbar有字符限制且必须是唯一的。
###控制器
我们可以创建一个控制器,这将创建一个简单的控制器、路由和依赖注入配置。
slimapi generate controller <controller name> [methods]
方法默认为index、get、post、put和delete,默认为空。控制器名称影响路由的设计。
slimapi generate controller Foo index post
将生成一个名为Foo的控制器,具有空的方法index和post。它还将创建GET/POST /foo
路由。
slimapi generate controller Foo
将生成一个名为Foo的控制器,具有空的方法index、get、post、put、delete。它还将创建GET/POST /foo
路由和GET/PUT/DELETE /foo/{id}
路由。
###脚手架
脚手架结合了控制器和模型生成,但增加了额外的功能。它配置控制器以接收模型作为构造函数参数,配置依赖注入以将模型注入到控制器中,最后填充通常为空的控制器方法以提供基本的CRUD功能。您不能提供参数来指定控制器方法(它会创建所有方法),但您可以提供模型定义。
slimapi generate scaffold foo field1:integer field2:string
这将生成Foo控制器和相应的路由,Foo模型/迁移,其中field1/field2为填充字段,以及所需的依赖注入配置。