Browse Source

equal() method added to Query class for creating update/create queries for router, part of logic moved from where() to world()

tags/1.1
Paul Rock 6 years ago
parent
commit
85fcb51e36
  1. 39
      src/Query.php

39
src/Query.php

@ -57,6 +57,7 @@ class Query implements QueryInterface
*
* @param array|string $endpoint Path of endpoint
* @param array $attributes List of attributes which should be set
*
* @throws \RouterOS\Exceptions\QueryException
*/
public function __construct($endpoint, array $attributes = [])
@ -79,12 +80,43 @@ class Query implements QueryInterface
* @param string $key Key which need to find
* @param bool|string|int $value Value which need to check (by default true)
* @param bool|string|int $operator It may be one from list [-,=,>,<]
*
* @return \RouterOS\Query
* @throws \RouterOS\Exceptions\QueryException
* @since 1.0.0
*/
public function where(string $key, $operator = null, $value = null): self
{
return $this->world('?' . $key, $operator, $value);
}
/**
* Setter for write/update queries
*
* @param string $key Key which need to find
* @param bool|string|int $value Value which need to check (by default true)
*
* @return \RouterOS\Query
* @throws \RouterOS\Exceptions\QueryException
* @since 1.1
*/
public function equal(string $key, $value = null): self
{
return $this->world('=' . $key, null, $value);
}
/**
* Write world to RouterOS (the work is mine)
*
* @param string $key Key which need to find
* @param bool|string|int $value Value which need to check (by default true)
* @param bool|string|int $operator It may be one from list [-,=,>,<]
*
* @return \RouterOS\Query
* @throws \RouterOS\Exceptions\QueryException
*/
private function world(string $key, $operator = null, $value = null): self
{
if (null !== $operator && null === $value) {
// Client may set only two parameters, that mean what $operator is $value
@ -107,7 +139,7 @@ class Query implements QueryInterface
$value = '=' . $value;
}
$this->add('?' . $key . $value);
$this->add($key . $value);
return $this;
}
@ -115,6 +147,7 @@ class Query implements QueryInterface
* Append additional operations
*
* @param string $operations
*
* @return \RouterOS\Query
* @since 1.0.0
*/
@ -128,6 +161,7 @@ class Query implements QueryInterface
* Append tag to query (it should be at end)
*
* @param string $name
*
* @return \RouterOS\Query
* @since 1.0.0
*/
@ -141,6 +175,7 @@ class Query implements QueryInterface
* Append to array yet another attribute of query
*
* @param string $word
*
* @return \RouterOS\Query
*/
public function add(string $word): Query
@ -163,6 +198,7 @@ class Query implements QueryInterface
* Set array of attributes
*
* @param array $attributes
*
* @return \RouterOS\Query
* @since 0.7
*/
@ -186,6 +222,7 @@ class Query implements QueryInterface
* Set endpoint of query
*
* @param string|null $endpoint
*
* @return \RouterOS\Query
* @since 0.7
*/

Loading…
Cancel
Save