public function testPagination() { $pagination = "@perpage=10&@offset=15&@limit=20"; $queryStringOrderBy = "@orderby=name,-surname"; $queryStringEmbed = "@embed=patientProcedures(@fields=name,code)(@filters=nameembed eq 'what ever'),mobiles(@orderby=sortFieldOne)"; $qs = $pagination . "&" . $queryStringOrderBy . "&" . $queryStringEmbed; $q = new yehiaHamid\easyParse\QueryStringParser($qs); $perPage = $q->perPage(); $offset = $q->offset(); $limit = $q->limit(); $this->assertEquals(10, $perPage); $this->assertEquals(15, $offset); $this->assertEquals(20, $limit); }
$queryStringCustom = "@anyThing=this is any thing value& @customwithQuotes='this is any shit in quotes'"; $queryStringFields = "@fields=name,surname,code"; $queryStringOrderBy = "@orderby=name,-surname"; //$queryStringOrderBy = ""; $queryStringEmbed = "@embed=patientProcedures(@fields=name,code)(@filters=nameembed eq 'what ever'),mobiles(@orderby=sortFieldOne)"; $queryString = $queryStringFilters . "&" . $queryStringFields . "&" . $queryStringEmbed . "&" . $queryStringCustom; if (isset($_SERVER['QUERY_STRING'])) { $queryString = $_SERVER['QUERY_STRING']; } if (isset($argv[1])) { $queryString = $argv[1]; } hr(); echo urldecode($queryString); hr(); $parser = new \yehiaHamid\easyParse\QueryStringParser($queryString); print_r($parser->get("anyThing")); hr(); print_r($parser->get("customwithQuotes")); hr(); print_r($parser->filters()); hr(); print_r($parser->fields()); hr(); print_r($parser->orderBy("firsrField,-secondField")); hr(); print_r($parser->embed()); // $input = ["fieldone eq 'value one'"]; $input = "name eq 'what ever', fieldname1_a ne \"that's term\" , 1any ne '10/12/122'"; hr(); // var_dump($result);