1.项目介绍
Pear Admin Yii2是基于开源框架Yii2开发的,采用MVC开发模式,具有扩展性高,安全性高,响应速度快等特点,是一款企业级的高效开发平台。
2.内容更新
[新增] Yii2-Queue实现轻量级消息队列
[新增] 登录拖动滑块验证
[修复] 前后端状态码匹配异常
[修复] RBAC模块Permission分配Child Permission异常
[删除] GatewayWorker前后端应用对于用户状态的监听
3.安装
1.git clone https://gitee.com/pear-admin/pear-admin-yii2.git
2.手动下载ZIP
4.运行
1.http://xx.com/backend/web/index.php 直接访问
2.backend/web设为Web服务器启动目录,你现在访问的地址会是http://xx.com
应用的静态结构:
5.数据配置
1.导入pear_admin_yii2.sql
2.修改数据库配置common\config\main-local.php
配置内容:
<?php
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=pear',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'tablePrefix'=>'yp_'
],
到这里项目就可以正常登陆使用了!
6.RBAC权限控制
1.基本思想:
- 一个用户可以拥有多个角色和多个权限,
- 一个角色可以拥有多个子角色,多个权限,多个路由
- 一个权限可以拥有多个子权限,多个路由
- 一个路由代表一个URL请求
2.RBAC权限模型:
项目中用户管理、角色管理、权限分配、路由配置对应上面的RBAC权限模型,使用穿梭框自由配置即可。
7.Yii2-Queue消息队列
队列就像是一个容器,把操作时间较长的业务井然有序的放入,让下面的程序正常执行。能有效提高系统的响应速度。
1.配置 (redis作为驱动)
<?php
return [
'bootstrap' => ['queue'],
'components' => [
'queue' => [
'class'=>\yii\queue\redis\Queue::class,
'redis' => 'redis',
'channel' => 'queue',
'as log'=> \yii\queue\LogBehavior::class,
],
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => '127.0.0.1',
'port' => 6379,
'database' => 0,
],
]
]
2.开启监听
cd console
yii queue/listen
3.加入队列,5秒后执行
<?php
Yii::$app->queue
->delay(5)
->push(new TestTask([
'taskname' => 'yii2-queue-test'
]));
// 下面的程序正常执行
...
4.控制台业务处理
<?php
namespace backend\components;
use yii\base\BaseObject;
class TestTask extends BaseObject implements \yii\queue\JobInterface
{
public $taskname;
public function execute($queue)
{
file_put_contents('test.txt',date('Y-m-d',time()).$this->taskname.PHP_EOL,FILE_APPEND);
}
}
运行3中的代码,taskname加入队列,控制台监听到任务进行日志记录。