Я пришел по коду, написанному другим разработчиком. это уровень абстракции базы данных 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 conts
благодарю вас.
Все, о чем я мог думать, — это то, что STATE_DIRTY / STATE_CLEAN — это своего рода флаг, указывающий, что тело запроса, которое представлено $this->SQLBlocks
был изменен или нет с момента последнего использования объекта.
кто-то поправит меня, если я ошибаюсь
Других решений пока нет …