- 路由
- 目录结构
- 类与方法
- 微服务用法
- 微服务客户端
- 如何使用服务端
- 单元测试
支持默认路由和注解路由,支持自定义路由。
开启注解路由:
config/app.php 增加配置项 userAnnotationRouter 并且设置为 true 即可。注解路由打开后,默认路由失效。
自定义路由在:
config/routes.php 中定义。
框架级
Framework目录结构
/ vendor/uniondrug/framework/src
├── Controllers
│ ├── ServiceClientController.php // Service客户端
│ ├── ServiceServerController.php // Service服务端
│ └── TestsController.php // 单元测试调度
├── Helpers
│ ├── ImageSize.php
│ ├── Session.php
│ ├── SessionClient.php
│ └── SessionData.php
├── Interfaces
│ ├── RelateChildInterface.php
│ ├── RelateFetchInterface.php
│ ├── RelateWriteInterface.php
│ ├── SingleChildInterface.php
│ ├── SingleFetchInterface.php
│ └── SingleWriteInterface.php
├── Providers
│ ├── ConfigProvider.php
│ ├── DatabaseProvider.php
│ ├── LoggerProvider.php
│ └── RouterProvider.php
├── Services
│ ├── FrameworkService.php
│ ├── RelateChildService.php
│ ├── RelateService.php
│ ├── SingleChildService.php
│ └── SingleService.php
├── Application.php
└── Container.php
Service继承, 基于接口
RelateChildInterface、RelateFetchInterface、RelateWriteInterface、SingleChildInterface、SingleFetchInterface、SingleWriteInterface预定义的通用Service。
<?php
/**
* 示例Service
* @author wsfuyibing <websearch@163.com>
* @date 2017-11-17
*/
namespace App\Services;
use Pails\Services\RelateChildService;
/**
* 示例Service应用场景
* 1. 有隶属关系
* 2. 有上/下级
* @package App\Services
*/
class ExampleService extends RelateChildService
{
}- Phalcon\Di\Injectable{}
__get()getDI()getEventsManager()setDI()setEventsManager()- Pails\Services\FrameworkService{}
fetchAll()- 按条件读取全部fetchCount()- 按条件读取数量fetchOne()- 按条件读取一条fetchPaging()- 按条件读取分页getAutoIncrementColumn()- 读取模型的流水号ID字段名称getError()- 读取最的的错误getErrorMessage()- 读取最近的错误原因getModel()- 读取Service对应的ModelhasError()- 检查是否有错误setError()- 设置最近的错误setModel()- 设置Service对应的Model, 若不指定则自动识别- Pails\Services\SingleService{}
delete()- 批量删除deleteById()- 按ID删除fetchAllByColumn()- 按指定字段读取全部fetchOneByColumn()- 按指定字段读取一条fetchOneById()- 按ID读取一条insert()- 添加新记录update()- 修改记录updateById()- 按记录ID修改- Pails\Services\SingleChildService{}
fetchChild()- 读取一条下级记录fetchChildren()- 读取下级记录列表fetchTree()- 读取树形结构hasChild()- 检查是否有下级记录
- Pails\Services\RelateService{}
delete()- 批量删除deleteById()- 按ID删除fetchAllByColumn()- 按指定字段读取全部fetchOneByColumn()- 按指定字段读取一条fetchOneById()- 按ID读取一条insert()- 添加新记录update()- 修改记录updateById()- 按记录ID修改- Pails\Services\RelateChildService{}
fetchChild()- 读取一条下级记录fetchChildren()- 读取下级记录列表fetchTree()- 读取树形结构hasChild()- 检查是否有下级记录