0

私は別の開発者によって書かれたいくつかのコードを見つけました。これは PHP データベースの抽象化レイヤーです。コードを調べようとしていますが、その一部を理解できません。

class QueryBuilderBase
{
    /*
     * The builder SQLStates.
     */
    const STATE_DIRTY = 0;
    const STATE_CLEAN = 1;
    /**
     * @var array The array of SQL parts collected.
     */
    private $SQLBlocks = [
        'select' => [],
        'from' => [],
        'join' => [],
        'set' => [],
        'where' => null,
        'groupBy' => [],
        'having' => null,
        'orderBy' => [],
        'values' => [],
        'limit' => null
    ];
      /**
 *
 * Either appends to or replaces a single, generic query part.
 *
 * The available parts are: 'select', 'from', 'set', 'where',
 * 'groupBy', 'having' and 'orderBy'.
 *
 * @param $sqlPartName
 * @param $sqlPart
 * @param bool $append
 * @return $this
 */

    private function addSQLBlock($sqlPartName, $sqlPart, $append = false)
    {
        $isArray = is_array($sqlPart);
        $isMultiple = is_array($this->SQLBlocks[$sqlPartName]);
        if ($isMultiple && !$isArray)
            $sqlPart = array($sqlPart);
        $this->SQLState = self::STATE_DIRTY;
        .....(some other code that's not relevant)
    }
}

彼が何をしているのか、そして STATE_CLEAN と STATE_DIRTY の const の目的を教えてください。

4

1 に答える 1