Various fixes to improve PHP 8.0 compatibility

- XmlParser 클래스가 PHP 내장 클래스가 되어버려서 XeXmlParser로 변경
- 함수나 파라미터의 형태가 맞지 않아서 치명적인 오류 나는 곳 수정
- undefined 변수 및 배열 키 다수 수정 (치명적인 오류는 아님)
- 계속 수정중...
This commit is contained in:
Kijin Sung 2020-10-31 00:25:26 +09:00
parent 90084efd75
commit 8c161bc28d
38 changed files with 136 additions and 100 deletions

View file

@ -39,7 +39,7 @@ class VariableBase
$value = '(' . $this->getQueryString($prefix, $args) . ')';
$params = $this->getQueryParams();
}
elseif ($this->var && Query::isValidVariable($args[$this->var], $this instanceof ColumnWrite))
elseif ($this->var && Query::isValidVariable($args[$this->var] ?? null, $this instanceof ColumnWrite))
{
if ($args[$this->var] instanceof EmptyString || $args[$this->var] instanceof NullValue)
{
@ -285,7 +285,7 @@ class VariableBase
*/
public function getValue(array $args)
{
if ($this->var && Query::isValidVariable($args[$this->var], $this instanceof ColumnWrite))
if ($this->var && Query::isValidVariable($args[$this->var] ?? null, $this instanceof ColumnWrite))
{
if ($args[$this->var] === '')
{
@ -321,7 +321,7 @@ class VariableBase
public function getDefaultValue()
{
// Get the current column name.
$column = $this instanceof ColumnWrite ? $this->name : $this->column;
$column = $this instanceof ColumnWrite ? $this->name : ($this->column ?? null);
// If the default value is a column name, escape it.
if (strpos($this->default, '.') !== false && Query::isValidColumnName($this->default))
@ -382,7 +382,7 @@ class VariableBase
// Don't apply a filter if there is no variable.
$column = $this instanceof ColumnWrite ? $this->name : $this->column;
$filter = isset($this->filter) ? $this->filter : '';
if (strval($value) === '')
if (!is_array($value) && strval($value) === '')
{
$filter = '';
}