{{wikiTitle}}
Basic基类
复制链接
编辑文档
Basic基类
目录结构
├─basic
│ BaseController.php
│ BaseManager.php
│ BaseMessage.php
│ BaseStorage.php
│ BaseUpload.php
BaseController 用来继承在控制器中,内部自带数据验证函数和返回json的方法方便调用
创建User控制器,文件存放目录:app\controller\admin\user\User.php
<?php
namspase app\api\controller\user;
class User extends BaseController
{
public function index()
{
return app('json')->success('ok');
}
}
BaseJob用来继承在消息队列执行的类中,自带有处理消息的能力
创建一个执行消息队列的类,文件存放目录:crmeb\job\TestJob.php
<?php
namespase crmeb\job;
use crmeb\job\BaseJob;
class TestJob extends BaseJob
{
public function fire($job, $data)
{
return true;
}
}
使用加入消息队列:
use crmeb\utils\Queue;
use crmeb\job\TestJob;
Queue::push(TestJob::class, $data);
BaseManager用来继承在多种驱动的情况下来使用,内部自动实例化驱动下的类进行缓存,和THINKPHP的缓存驱动类似原理
创建一个快递服务目录结构如下
crmeb
│ ├─services
│ │ ├─express
│ │ │ ├─Express.php
│ │ │ ├─storage
│ │ │ │ ├─Express100.php
express目录属于整个服务的大目录。crmeb/services/express/Express.php 属于服务入口文件,文件内容如下
<?php
namespace crmeb\services\express;
use crmeb\basic\BaseManager;
/**
* Class Express
* @package crmeb\services\express
*/
class Express extends BaseManager
{
/**
* 设置驱动命名空间
* @var string
*/
protected $namespace = '\\crmeb\\services\\express\\storage\\';
/**
* 设置默认驱动
* @return mixed|string
*/
protected function getDefaultDriver()
{
return 'express_100';
}
}
getDefaultDriver方法返回字符串为当前服务驱动的默认驱动- 属性
$namespace设置当前服务驱动存放在那个命名空间下 crmeb/services/express/storage/Express100.php属于需要具体实现的业务逻辑
BaseMessage用于模板消息发送继承后内部自带很多快捷方法,可快速的调用利于对接各种模板消息。在对接多种平台的时候需要实现send发送模板消息的逻辑,add添加模板消息的逻辑,delete和list总计4个方法
创建一个百度小程序的模板消息发送蕾,文件目录存放:crmeb\services\template\storage\Baidu.php
<?php
namespace crmeb\services\template\storage;
use crmeb\basic\BaseMessage;
class Baidu extends BaseMessage
{
/**
* 初始化
* @param array $config
* @return mixed|void
*/
protected function initialize(array $config)
{
parent::initialize($config); // TODO: Change the autogenerated stub
}
/**
* 发送模板消息
* @param string $templateId
* @param array $data
* @return mixed|void
*/
public function send(string $templateId, array $data = [])
{
// TODO: Implement send() method.
}
/**
* 添加模板消息
* @param string $shortId
* @return mixed|void
*/
public function add(string $shortId)
{
// TODO: Implement add() method.
}
/**
* 删除模板消息
* @param string $templateId
* @return mixed|void
*/
public function delete(string $templateId)
{
// TODO: Implement delete() method.
}
/**
* 模板消息列表
* @return mixed|void
*/
public function list()
{
// TODO: Implement list() method.
}
}
send方法负责发送模板消息add方法负责添加模板消息,如果没有添加的接口可以不用实现内部的逻辑,但是不需要创建出对应的方法delete方法负责删除模板消息,list方法获取模板消息列表
评论({{cateWiki.comment_num}})
最新
最早
{{cateWiki.page_view_num}}人看过该文档
评论(0)
最新
最早
783人看过
登录/注册
即可发表评论
{{item.user ? item.user.nickname : ''}}
(自评)
{{item.content}}
搜索结果
为您找到{{wikiCount}}条结果
{{item.page_view_num}}
{{item.like ? item.like.like_num : 0}}
{{item.comment ? item.comment.comment_num : 0}}
位置:
{{path.name}}
{{(i+1) == getCataloguePathData(item.catalogue).length ? '':'/'}}
