46 lines
1.4 KiB
PHP
46 lines
1.4 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | CatchAdmin [Just Like ~ ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2017~2020 http://catchadmin.com All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed ( https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt )
|
||
// +----------------------------------------------------------------------
|
||
// | Author: JaguarJack [ njphper@gmail.com ]
|
||
// +----------------------------------------------------------------------
|
||
namespace catchAdmin\wechat\library\messages;
|
||
|
||
class Factory
|
||
{
|
||
/**
|
||
* 对象生产
|
||
*
|
||
* @time 2020年06月26日
|
||
* @param $message
|
||
* @return mixed
|
||
*/
|
||
public static function make($message)
|
||
{
|
||
return self::parse($message);
|
||
}
|
||
|
||
/**
|
||
* 解析
|
||
*
|
||
* @time 2020年06月26日
|
||
* @param $message
|
||
* @return mixed
|
||
*/
|
||
protected static function parse($message)
|
||
{
|
||
// 事件类型
|
||
if ($message['MsgType'] == 'event') {
|
||
$event = __NAMESPACE__ . '\\events\\' . ucfirst($message['Event']);
|
||
|
||
return new $event($message);
|
||
}
|
||
|
||
$messageClass = __NAMESPACE__ . '\\' . ucfirst($message['MsgType']);
|
||
return new $messageClass($message);
|
||
}
|
||
} |