PineFramework
一个轻量级高性能GO语言开发框架。支持MVC、依赖注入、动态返回值、中间件、 路由分组、子域名路由注册管理。 组件基于接口实现,可以自行实现或定义组件。
此功能只能用于mvc模式,根据方法自动兼容显示内容
- 如果没有返回值,并且没有渲染过模板,会自动调用模板渲染方法. 查找路径为
ControllerName/MethodName
- 如果返回
inerface{}
,会自动打印部分能兼容的数据,返回结果为字符串类型text/html
- 如果返回一个非nil的错误,会直接
panic
(不包括复合类型里的error) - 如果返回 string,int 等类型,显示为
text
- 实现controller的结构属性全局静态变量共享(加锁/引用),需要共享的参数(名称以share切为引用类型)
(发现有些数据无法解析出来pkgPath,现在只有类型名称)服务注册名称更为
any
, 如果注册服务类型实例,自动绑定字符串文件路径和pkgPath
,controller
自动解析参数是对比参数pkgPath,以确定是否为真实参数类型。
- 可打印路由如下
$ go run main.go
METHOD | PATH | ALIASES | NAME | HANDLE
------ | ---- | ------- | ---- | -------
GET | / | | rootPath | path/to/routes_error/actions.HomeHandler
- 支持非Post或Get开始的方法名称,支持任何方式请求
- 自动反射出来的路由需要修改成小驼峰名称
- 细化input(参照laravel), 抽象convert结构体, 处理各种数据转换.
- 模板引擎支持传入文件系统对象
- 实现路由占位符用于自定义路由替换规则
- 缓存驱动github.com/syndtr/goleveldb/leveldb