Ouzo\Db\ModelDefinition::_createDefinition PHP 메소드

_createDefinition() 개인적인 정적인 메소드

private static _createDefinition ( $class, $params ) : ModelDefinition
$class
$params
리턴 ModelDefinition
    private static function _createDefinition($class, $params)
    {
        $table = Arrays::getValue($params, 'table') ?: self::defaultTable($class);
        $primaryKey = Arrays::getValue($params, 'primaryKey', 'id');
        $sequence = Arrays::getValue($params, 'sequence', "{$table}_{$primaryKey}_seq");
        list($fields, $defaults) = self::_extractFieldsAndDefaults($params['fields']);
        $relations = new Relations($class, $params, $primaryKey);
        $db = empty($params['db']) ? Db::getInstance() : $params['db'];
        if ($primaryKey && !in_array($primaryKey, $fields)) {
            $fields[] = $primaryKey;
        }
        $afterSaveCallbacks = Arrays::toArray(Arrays::getValue($params, 'afterSave'));
        $beforeSaveCallbacks = Arrays::toArray(Arrays::getValue($params, 'beforeSave'));
        return new ModelDefinition($db, $table, $sequence, $primaryKey, $fields, $relations, $afterSaveCallbacks, $beforeSaveCallbacks, $defaults);
    }