Apache 2.0 License // +---------------------------------------------------------------------- namespace app\common\library; use Psr\SimpleCache\InvalidArgumentException; /** * 全局模型数据处理类 * 1、自动设置字段属性 * 2、执行数据库事件回调 */ class ParseData { /** * 获取标题拼音 * @access public * @param string $pinyin 属性值 * @param array $data 当前数组 * @return string */ public static function setPinyinAttr(string $pinyin, array $data): string { if (empty($pinyin)) { return pinyin($data['title'], true); } return trim($pinyin); } /** * 获取标题首字母 * @access public * @param string $letter 属性值 * @param array $data 当前数组 * @return string */ public static function setLetterAttr(string $letter, array $data): string { if (empty($letter)) { $pinyin = pinyin($data['title'], true); return substr($pinyin, 0, 1); } return $letter; } /** * 自动获取描述 * @access public * @param string $description 属性值 * @param array $data 当前数组 * @return string */ public static function setDescriptionAttr(string $description, array $data): string { if (empty($description) && !empty($data['content'])) { return msubstr($data['content'], 0, 80); } return $description; } /** * 内容数据修改器 * @access public * @param string $content * @return string * @throws \Psr\SimpleCache\InvalidArgumentException */ public static function setContentAttr(string $content): string { if ($prefix = cdn_Prefix()) { $content = str_replace($prefix, '', $content); } return $content; } /** * 获取内容数据 * @access public * @param string $content * @return string * @throws \Psr\SimpleCache\InvalidArgumentException */ public static function getContentAttr(string $content): string { if (!empty($content)) { // 是否开启前缀 if ($prefix = cdn_Prefix()) { $pattern = "/