Skip to content

Commit 91aadbd

Browse files
committed
chore:添加单元测试
1 parent 4724890 commit 91aadbd

File tree

3 files changed

+86
-91
lines changed

3 files changed

+86
-91
lines changed

composer.json

+3-8
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
"laravel/framework": ">=5.5"
2121
},
2222
"require-dev": {
23-
"barryvdh/laravel-debugbar": "^3.0.0"
23+
"barryvdh/laravel-debugbar": "^3.0.0",
24+
"phpunit/phpunit": "8.5.x-dev"
2425
},
2526
"autoload": {
2627
"psr-4": {
@@ -38,11 +39,5 @@
3839
"zyimm\\query\\QueryBuilderServiceProvider"
3940
]
4041
}
41-
},
42-
"repositories": [
43-
{
44-
"type": "composer",
45-
"url": "https://mirrors.aliyun.com/composer/"
46-
}
47-
]
42+
}
4843
}

src/QueryBuilderServiceProvider.php

+33-33
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
1-
<?php
2-
3-
4-
namespace zyimm\query;
5-
6-
7-
use Illuminate\Support\ServiceProvider;
8-
use zyimm\query\build\QueryWhere;
9-
10-
class QueryBuilderServiceProvider extends ServiceProvider
11-
{
12-
/**
13-
* Perform post-registration booting of services.
14-
*
15-
* @return void
16-
*/
17-
public function boot()
18-
{
19-
//...
20-
}
21-
22-
/**
23-
* Register any package services.
24-
*
25-
* @return void
26-
*/
27-
public function register()
28-
{
29-
//bind QueryWhere
30-
$this->app->bind('QueryWhere', QueryWhere::class);
31-
}
32-
33-
}
1+
<?php
2+
3+
4+
namespace zyimm\query;
5+
6+
7+
use Illuminate\Support\ServiceProvider;
8+
use zyimm\query\build\QueryWhere;
9+
10+
class QueryBuilderServiceProvider extends ServiceProvider
11+
{
12+
/**
13+
* Perform post-registration booting of services.
14+
*
15+
* @return void
16+
*/
17+
public function boot()
18+
{
19+
//...
20+
}
21+
22+
/**
23+
* Register any package services.
24+
*
25+
* @return void
26+
*/
27+
public function register()
28+
{
29+
//bind QueryWhere
30+
$this->app->bind('QueryWhere', QueryWhere::class);
31+
}
32+
33+
}

src/build/QueryWhere.php

+50-50
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,50 @@
1-
<?php
2-
3-
namespace zyimm\query\build;
4-
5-
use Illuminate\Database\Eloquent\Builder;
6-
use zyimm\query\build\resolves\QueryBuilder;
7-
8-
/**
9-
* Class QueryWhere
10-
*
11-
* @package zyimm\query
12-
*/
13-
class QueryWhere
14-
{
15-
16-
/**
17-
* buildQueryWhere
18-
*
19-
* @param $params
20-
* @param $condition
21-
* @param $query
22-
*/
23-
public function buildQueryWhere($params, $condition, &$query)
24-
{
25-
$where = (new QueryBuilder($condition, $params))->build();
26-
//自动执行闭包查询
27-
$this->executeQuery($where, $query);
28-
}
29-
30-
/**
31-
* Execute closure query
32-
*
33-
* @param $where
34-
* @param $query Builder
35-
*/
36-
private function executeQuery($where, Builder &$query)
37-
{
38-
foreach ($where as $extra) {
39-
if (stripos($extra[1],'.') !== false) {
40-
$operator = explode('.', $extra[1]);
41-
$extra[1] = reset($operator);
42-
$operator = array_pop($operator);
43-
} else {
44-
$operator = $extra[1];
45-
unset($extra[1]);
46-
}
47-
call_user_func_array([$query, $operator], $extra);
48-
}
49-
}
50-
}
1+
<?php
2+
3+
namespace zyimm\query\build;
4+
5+
use Illuminate\Database\Eloquent\Builder;
6+
use zyimm\query\build\resolves\QueryBuilder;
7+
8+
/**
9+
* Class QueryWhere
10+
*
11+
* @package zyimm\query
12+
*/
13+
class QueryWhere
14+
{
15+
16+
/**
17+
* buildQueryWhere
18+
*
19+
* @param $params
20+
* @param $condition
21+
* @param $query
22+
*/
23+
public function buildQueryWhere($params, $condition, $query)
24+
{
25+
$where = (new QueryBuilder($condition, $params))->build();
26+
//自动执行闭包查询
27+
$this->executeQuery($where, $query);
28+
}
29+
30+
/**
31+
* Execute closure query
32+
*
33+
* @param $where
34+
* @param $query Builder
35+
*/
36+
private function executeQuery($where, Builder $query)
37+
{
38+
foreach ($where as $extra) {
39+
if (stripos($extra[1],'.') !== false) {
40+
$operator = explode('.', $extra[1]);
41+
$extra[1] = reset($operator);
42+
$operator = array_pop($operator);
43+
} else {
44+
$operator = $extra[1];
45+
unset($extra[1]);
46+
}
47+
call_user_func_array([$query, $operator], $extra);
48+
}
49+
}
50+
}

0 commit comments

Comments
 (0)