goal组件 (4)

qbhy

数据库组件

Goal-web/database goal-web/database goal 框架的数据库组件,当然你也可以在 goal 之外的框架使用他。 目前数据库组件暂时不能使用关联关系,你可以用 WhereExists 来代替 go get github.com/goal-web/database 使用 - usage goal 的脚手架自带了绝大多数开发一个 web 应用的所需要的功能和组件,当然包括了数据库组件。一般情况下,我们只需要在 .env 修改自己的数据库配置即可,添加数据库连接可以 config/database.go 修改 Connections 属性。 默认情况下,config/database.go 配置文件像下面那样,默认添加了 sqlite、MySQL、postgresSql 三个数据库连接的配置 和 Laravel 不同的是,goal 把 redis 配置独立出去了,因为 redis 也是一个独立的模块,不想让 redis 依赖 database package config import ( "github.com/goal-web/contracts"…

Continue reading...
qbhy

QueryBuilder - 查询构造器组件

Goal/QueryBuilder Goal 的数据库查询构造器为创建和运行数据库查询提供了一个方便的接口。它可以用于支持大部分数据库操作,并与 Goal 支持的所有数据库系统完美运行。并且大量参考了 Laravel 的查询构造器设计,你几乎可以在这个库找到所有与 Laravel 对应的方法。 Goal 的查询构造器实现了类似 PDO 参数绑定的形式,来保护您的应用程序免受 SQL 注入攻击。因此不必清理因参数绑定而传入的字符串。查询构造器会返回你想要的 SQL 语句以及绑定参数。 $ go get github.com/goal-web/querybuilder 运行数据库查询 - usage 根据条件从表中检索出数据 - query 你可以使用 NewQuery 方法来开始查询。该方法为给定的表返回一个查询构造器实例,允许你在查询上链式调用更多的约束,最后使用 get 方法获取结果: package querybuilder import ( "fmt" ) func TestSimpleQueryBuilder() { query := NewQuery("users"). Where("name",…

Continue reading...
qbhy

Auth 组件

Goal-web/auth goal-web/auth goal 框架的用户认证组件,你可以在 http、websocket 或者其他环境使用。 $ go get github.com/goal-web/auth 使用 - usage goal 的脚手架自带了绝大多数开发一个 web 应用的所需要的功能和组件,当然这也包括了认证组件。一般情况下,我们只需要在 .env 修改自己的认证配置即可,比如 jwt 驱动的 secret、session 驱动的 session_key。 默认情况下,config/auth.go 配置文件像下面那样,默认添加了 jwt、session 两个守卫配置 package config import ( "github.com/goal-web/auth" "github.com/goal-web/contracts" "github.com/goal-web/example/models" "github.com/golang-jwt/jwt" ) func init() { configs["auth"] = func(env contracts.Env) interface{}…

Continue reading...
qbhy

Goal 组件

核心组件 鉴于部分朋友看到 goal 长长的组件列表后,认为 goal 是个重型框架,许多场景不适合使用。我认为有必要说明一下,goal 的组件搭配其实是相当灵活的,goal 除了核心组件之外的其他组件都是可选的,包括所有主要组件。goal 允许你自由组装你的 goal 应用,例如 console + database 可以写一个数据库迁移应用,console + email 可以写一个邮件发送工具,http + database 可以写一个 CURD 应用,以此类推,你可以通过各种组合来完善你的应用,同时 goal 也提供了一个默认的 goal 应用模板 contracts - 契约 container - 容器 application - 应用 config - 配置 supports - 各种支持库和工具库 主要组件 pipeline -…

Continue reading...