Specify GUID or ID attribute.
Scalar parameter is acceptable only.
Please do not pass an array to the first parameter.
@param string|integer $param
@param bool|string $like false, 'like', 'or like', 'not like', 'or not like'.
@return $this
492010
public function guidOrId($param, $like = false)
    {
        if (is_string($param) && (preg_match(Number::GUID_REGEX, $param) || strlen($param) == 16)) {
            return $this->guid($param, $like);
        }
        return $this->id($param, $like);
    }
125421
public function one($param = true){
        $this->isAr = true;
        if($this->isPretreatment){
            self::$Pre = $this->bindSql();
            if(!$param) return self::$Pre->queryString;
            return $this->dbh->pone($this->bindSql());
        }
        $bind = $this->bindSql();
        if(!$param) return $this->PrintSQL();
        $this->initialize();
        return $bind->one();
    }
31985
public function id($id, $like = false)
    {
        /* @var $this ActiveQuery */
        $model = $this->noInitModel;
        return $this->likeCondition($id, $model->idAttribute, $like);
    }
265773
public function has($param)
    {

        if ($param instanceof \MongoId) {
            $id = (string) $param;
        } elseif ($param instanceof Model) {
            $id = (string) $param->getId();
        } elseif (is_string($param)) {
            $id = $param;
        }
        if ( isset($id) && isset($this->_items[$id]) ) {
            return true;
        }

        return false;

    }
800483
public function orNotLike($key, $like)
    {
        $value = sprintf('%s NOT LIKE ?', $key);
        return $this->orAdd($value, [$like]);
    }
430667
protected function getQueryParam(string $param) : ?string
    {
        if ($this->queryParams === null) {
            $this->parseQueryParams();
        }
        return $this->queryParams[$param] ?? null;
    }
431423
private function initCommand($param)
    {
        if (!preg_match('/^[a-z]+:[a-z]+$/', $param)) {
            $this->options['command'] = $param;

            return;
        }
        
        $part = explode(':', $param);

        $this->options['command'] = $part[0];

        $this->options['action'] = $part[1];
    }
781177
public function hasParam($param)
	{
		$param = (string)$this->params[$param];
		
		return strlen($param) > 0 ? true : false;
	}
179607
public function andNotLike($key, $like)
    {
        $value = sprintf('%s NOT LIKE ?', $key);
        return $this->andAdd($value, [$like]);
    }
559496
public function orWhere($param){
        if (func_num_args() == 3) {

            $operator =strtolower(func_get_arg(1));
            if (is_numeric(array_search($operator, $this->condition))) {
                $this->whereby .=' or '.self::sanitize(func_get_arg(0))
                    .' '. $operator . ' \''
                    . self::sanitize(func_get_arg(2)) . '\'';
            } else {
                static::$response["status"] = "error";
                static::$response["response"] = "Invalid condition provided in where function";
                static::$response["code"] = 7000;
            }
        } else if (func_num_args() == 2) {
            $this->whereby .= ' or '.self::sanitize(func_get_arg(0)) . ' = \''
                . self::sanitize(func_get_arg(1)) . '\'';
        } else {
            static::$response["status"] = "error";
            static::$response["response"] = "Invalid parameters provided in where function";
            static::$response["code"] = 7001;
        }

        return $this;
    }
40893
private function handleThridParameter($param) 
    {
        $result = '';
        if(is_array($param)) {
            $result = '(';
            foreach($param as $v) {
                $result .= $this->quoteValue($v) . ', ';
            }
            $result = trim($result, ', ') . ')';
        } else {
            $result = $this->quoteValue($param);
        }
        
        return $result;
    }
505535
public function setConfig( $param, $value )
	{
		$dn = new DotNotation($this->configs);
		$dn->set($param, $value);
		$this->configs = $dn->getValues();
	}
983771
public function param($param, $value) {
		if ($value !== null) {
			$param = rawurlencode($param);
			$value = rawurlencode($value);
			$this->params[$param] = $value;
		} else {
			if (isset($this->params[$param])) {
				unset($this->params[$param]);
			}
		}
		return $this;
	}
399317
public function remove($param)
        {
            if ($param instanceof Container) {
                $param = $param->id;
            }

            $item = $this->get($param);

            if ($item) {
                $id = (int) $item->id;

                if ($this->_items[$id]) {
                    unset($this->_items[$id]);
                }
            }

            return $this;
        }
527533
public function where($parameter, $value)
    {
        if (! $this->verify($parameter, $value)) {
            return true;
        }

        $this->search = $this->search
            ->where($parameter, 'LIKE', '%' . $value . '%');
    }
307275
public static function configure($param = array('key' => null, 'secret' => null))
    {

        if (!$param['key'] && !$param['secret']) {
            Throw new \Exception('Api Key and Secret must be defined');
        }

        self::$API_SECRET = $param['secret'];
        self::$API_KEY = $param['key'];
    }
673125
protected function register(Parameter $param)
    {
        $this->ifAlreadyRegistered($param);

        $name = $param->attributeName();
        if ($param instanceof Option) {
            $this->_options[$name] = $param;
        } else {
            $this->_arguments[$name] = $param;
        }

        $this->set($name, $param->default());
    }