abelzhou / fisherman
A data access service library.
1.0.3
2019-02-15 03:16 UTC
Requires
- php: >5.3.0
- icanboogie/inflector: ^1.4
- nadar/php-composer-reader: ^1.0
- phpmyadmin/sql-parser: ^4.2
- symfony/console: ^4.2
- symfony/yaml: 4.2.0
- twig/twig: 1.x
This package is auto-updated.
Last update: 2024-10-15 20:04:15 UTC
README
一个遵循psr4的业务类库,集成了数据库与缓存层。
主要适用于单纯想使用sql,不想使用orm的朋友。
成天用orm都快用傻了,sql都不会写了。
安装
composer require abelzhou/Fisherman
使用
构造项目目录
vendor/bin/fisherman init
构造完项目目录后,会生成如下文件及目录
├── Conf
│ ├── local
│ │ ├── cache.yml
│ │ ├── config.yml
│ │ └── db.yml
│ ├── rls
│ └── test
├── Model
│ └── DBName
├── Module
│ └── DBName
├── bootstrap.php
├── composer.json
└── .gitigore
- Conf:配置文件目录
- 环境文件夹(local|rls|test),取决于"RUNTIME_ENV"环境变量。Default:local
- cache.yml memcache缓存配置(可更换引擎,目前只实现memcache)
- config.yml 项目配置文件
- db.yml 数据库配置
- 环境文件夹(local|rls|test),取决于"RUNTIME_ENV"环境变量。Default:local
- model:底层数据交互目录,原则上一个数据库一个文件夹
- module:业务逻辑目录,原则上一个数据库一个文件夹
- bootstrap.php 引导文件,在某些web或者常驻内存项目中,需要引入该文件让业务类库生效。
- composer.json
修改conf
构造完项目后,需要手工处理两个文件才能生成对应的model和module
1、config.yml
2、db.yml
# 修改项目名称 默认为demo vim Conf/local/config.yml # 修改数据库连接必要条件 这里假设需要test数据库下的业务 vim Conf/local/db.yml
生成对应的model以及module
vendor/bin/fisherman make:model test user -m User
详细信息参考
vedor/bin/fisherman -h
配置说明
cache.yml
memcached: #引擎tag - host: # host 可以配置多个 127.0.0.1 port: 11211 weight: #权重 10
config.yml
project: name: # 项目名称,项目名称会影响之后生成的model与module类的命名空间前缀 Demo cache: engine: # 选择的缓存引擎 memcached prefix: # 缓存前缀 prefix_ expire: # 默认的过期时间 300 db: engine: # 数据库引擎 mysql log: dir: # 日志输出目录 每天一个文件 /../Logs/ level: # 日志输出的默认等级 0
db.yml
test: #dbtag 配置标签,标签不能重复,一般为每个数据库配置一个标签 writer: #写库只能配置一个 host: 127.0.0.1 port: 3306 user: root password: 123456 database: test charset: utf8 reader: # 从库可以配置多个 - host: 127.0.0.1 port: 3306 user: root password: 123456 database: test charset: utf8