hunwalk/yii2-basic-firestarter

该软件包已被弃用且不再维护。作者建议使用 hunwalk/yii2-app-forge 软件包。

Yii 2 Firestarter 项目模板

v1.1.1 2019-11-28 16:12 UTC

This package is auto-updated.

Last update: 2022-02-20 16:42:25 UTC


README

68747470733a2f2f692e696d6775722e636f6d2f794a433675616c2e706e67

Yii 2 Basic Firestarter


此项目已停止开发

如果您想寻找类似的项目,请点击此链接:https://github.com/hunwalk/yii2-app-forge

这是一个经过某些修改的基本模板,其中包含了一些预先配置的功能。我创建这个模板是为了在创建新项目时节省时间。

如果您考虑在生产环境中使用此模板,请留下一个星标。

包含

  • 非常实用的 symfony VarDumper。使用 dump() 方法
  • dotenv 配置(灵感来自 @lostika86
  • 包含基本配置的 dektrium/yii2-user 和 dektrium/yii2-rbac 软件包
  • 一个 API 标识解决方案(Authorization header => Bearer token)/ 由 bizley 编写
  • 一个 API 模块
  • 预定义的控制器映射到控制台配置(添加迁移命令)
  • 一个常规提交助手

查看软件包

开始使用

使用最新版本

$ composer create-project hunwalk/yii2-basic-firestarter <projectName> --prefer-dist

或者如果您需要新功能,可以使用当前的 master 分支

$ git clone https://github.com/HunWalk/yii2-basic-firestarter <projectName>
$ cd <projectName>
$ composer install
$ composer run-script post-create-project-cmd

post-create-project-cmd 脚本会为一些文件夹设置权限,并为您生成 cookieValidationKey

说明

第一步

从 .env.example 创建一个 .env 文件

OSX / LINUX

$ cp .env.example .env

Windows

$ copy .env.example .env

第二步

  • 填写 .env 文件。添加或删除内容,完全取决于您
  • 运行以下命令
    $ php yii migrate-user
    $ php yii migrate-rbac
    $ php yii migrate
    

第三步

  • 运行服务器并享受吧 :)
    $ php yii serve
    

关于API

您可以通过api/v1访问API。这里有一个可以测试的示例控制器。这纯粹是为了演示,可以做得更好。

使用API更新用户资料(这纯粹是为了测试目的)

如果以前从未做过类似的事情,请仔细阅读。

  1. 启动服务器
  2. 弹出您最喜欢的API客户端
  3. 将URL设置为api/v1/user/settings/profile
  4. 设置一个包含键Authorization的标题
  5. Authorization标题的值应该是您的令牌。
  6. 请记住,该令牌将在60秒内过期
  7. 使用这些设置进行GET请求。
  8. 您应该收到用户的资料
  9. 现在进行POST请求。正文应该是x-www-form-urlencoded
  10. 键值对应该是Profile[name] = {yourname}
  11. 发送。😄

如果您一切操作正确,应该收到更新的资料。

一些额外信息

令牌看起来像这样

1:1574952622:d1da75dd83fc643384c728ed7ecfb266574d6533

它有3个部分。user_id,当前时间戳,以及用户的api_key与当前时间戳一起通过sha1散列。

您可以在v1模块的DefaultController中找到有关生成该令牌的更多信息。此外,您应该在进入生产之前将其删除。

您可以从API键列中的用户表获取用户的API键。

使用常规提交

感谢常规提交项目和这位家伙:https://github.com/damianopetrungaro/

在我发布这个更新后,似乎出了些问题,fire/commit命令实际上并不起作用。需要一些调整,但肯定会修复这个问题。但是,您可以自由地使用常规提交的想法。这真的很棒 😄

待办事项

  • 正确的测试
  • 在这里提到每个第三方包(我希望我做到了,如果缺少任何东西,请打开一个问题)
  • 测试API键功能(已测试,现在应该工作)
  • 创建一个带有默认contentNegotiation HttpBearerAuth和verbFilter的v1 API模块

由此激发的网站或项目

如果您有一个PR,请发送它:)