app/admin/lib/Field.php

(开头部分) 15KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php
/**
 * 人人站CMS
 * ============================================================================
 * 版权所有 2015-2030 山东康程信息科技有限公司,并保留所有权利。
 * 网站地址: http://www.rrzcms.com
 * ----------------------------------------------------------------------------
 * 如果商业用途务必到官方购买正版授权, 以免引起不必要的法律纠纷.
 * ============================================================================
 */

namespace app\admin\lib;

use think\facade\Db;

class Field
{
    /**
     * 获得字段创建信息
     * @param string $dtype 字段类型
     * @param string $name 字段名称
     * @param string $dfvalue 默认值
     * @param string $title 字段标题
     * @return array
     */
    function GetFieldMake($dtype, $name, &$dfvalue, $title) {
        $fields = [];

        //如果是数字型,则判断默认值类型是否符合,不符合则设置为0
        if (in_array($dtype, ['int', 'float', 'decimal'])) {
            if (!is_numeric($dfvalue) || !$dfvalue) {
                $dfvalue = 0;
            }
            $dfvalue = $dtype == 'int' ? intval($dfvalue) : round($dfvalue, 2);
        }

        if ("int" == $dtype) {
            $maxlen = 10;
            $fields['sql'] = " `{$name}` int({$maxlen}) NOT NULL DEFAULT {$dfvalue} COMMENT '{$title}';";
            $fields['buideType'] = "int({$maxlen})";
        } else if ("datetime" == $dtype) {
            if (preg_match("#[0-9\-]#", $dfvalue)) {
                $dfvalue = strtotime($dfvalue);
                empty($dfvalue) and $dfvalue = 0;
            } else {
                $dfvalue = 0;
            }
            $maxlen = 11;
            $fields['sql'] = " `{$name}` int({$maxlen}) unsigned NOT NULL DEFAULT {$dfvalue} COMMENT '{$title}';";
            $fields['buideType'] = "int({$maxlen})";
        } else if ("switch" == $dtype) {
            if (empty($dfvalue) || preg_match("#[^0-9]#", $dfvalue)) {
                $dfvalue = 1;
            }
            $maxlen = 1;
            $fields['sql'] = " `{$name}` tinyint({$maxlen}) unsigned NOT NULL DEFAULT {$dfvalue} COMMENT '{$title}';";
            $fields['buideType'] = "tinyint({$maxlen})";
        } else if ("float" == $dtype) {
            $maxlen = 9;
            $fields['sql'] = " `{$name}` float({$maxlen},2) NOT NULL DEFAULT {$dfvalue} COMMENT '{$title}';";
后面还有 341 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。