hunwalk / yii2-basic-firestarter
Yii 2 Firestarter 项目模板
Requires
- php: >=7.1.0
- dektrium/yii2-rbac: ^1.0
- dektrium/yii2-user: ^0.9.14
- yiisoft/yii2: ~2.0.14
- yiisoft/yii2-bootstrap: ~2.0.0
- yiisoft/yii2-swiftmailer: ~2.0.0 || ~2.1.0
Requires (Dev)
- codeception/base: ~2.3.0
- codeception/specify: ~0.4.6
- codeception/verify: ~0.4.0
- damianopetrungaro/php-commitizen: ^0.1.2
- symfony/browser-kit: >=2.7 <=4.2.4
- symfony/dotenv: ^4.2
- symfony/var-dumper: ^5.0
- yiisoft/yii2-debug: ~2.1.0
- yiisoft/yii2-faker: ~2.0.0
- yiisoft/yii2-gii: ~2.1.0
This package is auto-updated.
Last update: 2022-02-20 16:42:25 UTC
README
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 模块
- 预定义的控制器映射到控制台配置(添加迁移命令)
- 一个常规提交助手
查看软件包
- https://symfony.com.cn/doc/current/components/var_dumper.html / Symfony VarDumper 组件
- https://github.com/dektrium/yii2-user / 用户管理
- https://github.com/dektrium/yii2-rbac / 强大的 RBAC 管理器
- https://github.com/bizley/timeclock / API 密钥的想法来自这里。(以及代码也是如此)
- https://github.com/symfony/dotenv / 我们使用的 dotenv
- https://github.com/damianopetrungaro/php-commitizen / 一个常规提交的工具
开始使用
使用最新版本
$ 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更新用户资料(这纯粹是为了测试目的)
如果以前从未做过类似的事情,请仔细阅读。
- 启动服务器
- 弹出您最喜欢的API客户端
- 将URL设置为
api/v1/user/settings/profile
- 设置一个包含键
Authorization
的标题 Authorization
标题的值应该是您的令牌。- 请记住,该令牌将在60秒内过期
- 使用这些设置进行GET请求。
- 您应该收到用户的资料
- 现在进行POST请求。正文应该是x-www-form-urlencoded
- 键值对应该是Profile[name] = {yourname}
- 发送。😄
如果您一切操作正确,应该收到更新的资料。
一些额外信息
令牌看起来像这样
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,请发送它:)