https://github.com/limingxinleo/phalcon-rbac
rbac 权限管理项目
https://github.com/limingxinleo/phalcon-rbac
phalcon php rbac
Last synced: 10 months ago
JSON representation
rbac 权限管理项目
- Host: GitHub
- URL: https://github.com/limingxinleo/phalcon-rbac
- Owner: limingxinleo
- License: other
- Created: 2017-01-26T09:33:59.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-10T13:19:10.000Z (over 8 years ago)
- Last Synced: 2025-03-19T06:49:21.820Z (10 months ago)
- Topics: phalcon, php, rbac
- Language: JavaScript
- Size: 853 KB
- Stars: 8
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RBAC 权限管理系统
## 安装方法
~~~
git clone https://github.com/limingxinleo/phalcon-rbac.git
cd phalcon-rbac
cp .env.example .env
~~~
* 修改.env中的 DB配置
* 修改 app/config/config.ini 中的DB配置
* 安装phalcon脚本工具
* 执行以下代码
~~~
phalcon migration generate
~~~
## 注意事项
* 如果没有phalcon.so扩展和phalcon命令 请到[Phalcon 文档](https://docs.phalconphp.com/zh/latest/index.html)查看如果安装扩展
# phalcon-project
[](https://packagist.org/packages/limingxinleo/phalcon-project)
[](https://packagist.org/packages/limingxinleo/phalcon-project)
[](https://packagist.org/packages/limingxinleo/phalcon-project)
[](https://packagist.org/packages/limingxinleo/phalcon-project)
[Phalcon 官网](https://docs.phalconphp.com/zh/latest/index.html)
## 安装方法 ##
~~~
git clone --depth=1 git://github.com/phalcon/cphalcon.git
cd cphalcon/build
sudo ./install
vim etc/php.ini
extension=phalcon.so
composer create-project limingxinleo/phalcon-project demo
~~~
## 目录结构
初始的目录结构如下:
~~~
www WEB部署目录(或者子目录)
├─app 项目文件
│ ├─config 配置文件
│ ├─controllers 控制器目录
│ ├─library 第三方库目录
│ ├─models 模型目录
│ ├─services 自定义服务目录
│ ├─tasks 任务目录
│ ├─traits Trait目录
│ └─views 视图目录
├─public 资源目录
│ ├─app 项目资源目录
│ ├─lib 第三方资源目录
│ ├─.htaccess apache重写文件
│ └─index.php 入口文件
├─storage 项目写入仓库
│ ├─cache 项目缓存目录
│ │ ├─data 数据缓存目录
│ │ └─view 视图缓存目录
│ ├─log 日志目录
│ ├─meta 模型元数据目录
│ └─migrations 数据库迁移目录
├─tests 单元测试目录
├─vendor 第三方类库目录(Composer依赖库)
├─.env env支持配置文件
├─composer.json composer定义文件
├─README.md README文件
├─LICENSE 授权说明文件
├─run 命令行入口文件
~~~
## 定时脚本 ##
* crontab -e
* 编辑增加 * * * * * /path/to/php /path/to/run System\\\\Cron >> /dev/null 2>&1
* 启动crond 服务
* 在config/app.php 中维护cron-tasks数组
## 注意事项 ##
* 利用phalcon脚本新建model时,使用phalcon model name --namespace=MyApp\Models
* 利用phalcon脚本新建controller时,使用phalcon controller name --namespace=MyApp\Controllers\SubNamespace
* 使用模型进行信息存储时,因为模型元数据的问题,非空字段会匹配非空、非空字符串两个条件,致使一些空字符串字段不赋默认非空字符串值的情况下,保存失败!
* 框架默认以文件的方式缓存元数据,一旦表结构被修改,请执行php run system\clear meta yes 清理元数据
* 在使用Model的Relation时,因为命名空间的问题,需要使用别名,例如 $this->hasMany("id", "MyApp\\Models\\Book", "uid", ['alias' => 'book']);
* 控制器中 $this->request->url函数 (url助手函数) 生成的地址 会拼接config中的baseUri。
* 控制器中 $this->response->redirect() 会根据当前模块跳转。
* 默认的调度params是按照数组顺序进行对应的。
* 使用Cli时,因为Windows对大小写不敏感 可以用php run system\clear 但在Linux下 需要使用php run System\\\\Clear
* 使用Phalcon 开发工具的时候,需要维护config/config.ini配置文件
* 初始化脚本因为Windows和Linux使用Cli的区别,没办法同时兼容,暂时兼容Windows,Linux需要手动执行命令。
* 项目没有设置时区,所以对于8小时的误差,要么在项目中增加date_default_timezone_set(Asia/Shanghai),要么在php.ini中修改date.timezone = Asia/Shanghai
* 使用dispatch forward调度的时候,必须使用return截断控制器。要不然他会走后面的dispatch forward调度。如果使用exit截断,调度则不会执行。