slimphp-api/slim-api

生成瘦型API控制器/模型的工具

0.1.2 2016-01-12 21:21 UTC

This package is not auto-updated.

Last update: 2024-09-24 04:20:12 UTC


README

#slim-api 基本的slim api项目和生成器

Coverage Status Code Climate Build Status

#状态

Alpha,初始化以及创建模型/控制器/脚手架已完成。

#什么是?

一个简单的命令行应用程序,用于生成简单的控制器/模型/迁移、路由和依赖注入,使用Slim和symfony控制台。

###外部模块 默认情况下,应用程序使用phinx和eloquent进行迁移和ORM,这些由外部模块提供: slim-eloquentslim-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为填充字段,以及所需的依赖注入配置。