heui
heui
I test found leak memory when unused bind params ```php while (true) { // unbind code $count = EcmStore::count('add_time > '. (time()- random_int(86400, 100*86400))); echo sprintf("%s %s\n", memory_get_usage(), $count); /*...
和楼主一样的问题,可以自己fork一份改下`composer.json`先用着 ```sh composer require runphp/aliyun-oss-flysystem:dev-master ```
我现在的代码需要这样实现 ```php class OrderValidate extends Validate { protected $failException = true; protected function exist($value, $rule, $data, $field): bool { $address = [ 'id' => $data['address_id'], 'uid' => $data['uid'] ]; return...
```php Route::group('a', function () { Route::group(function () { Route::get('b',function (){ return 'b'; }); }); Route::group(function (){ Route::get('c',function (){ return 'c'; }); }); }); ``` 我是升级8遇到这个问题, a/b 可以访问, a/c not found...
https://github.com/top-think/framework/pull/3128 我尝试修复了这个问题,我这边测试了下没有问题了 @FlameMida @liu21st
https://github.com/top-think/framework/commit/ac14f535ffcb46c6a017b94df881bb44b5172742 在这一次提交记录里面,https://github.com/top-think/framework/commit/ac14f535ffcb46c6a017b94df881bb44b5172742#diff-c8a08aa36a5de9b4314a7d18c69ffaae6945343bc00fd79775232dc5ce04b0e4R312 这个位置的逻辑是直接return了,我觉得应该继续循环进行判断是否有匹配的路由  如图 $rules 有多条记录的时候,如果未满足条件被直接return了,我的修改是如果false应该继续检查其他路由是否满足 @liu21st 你看下是不是这个问题
> 两个相同的分组为啥不合并呢? 首先以前的版本确实支持的,至于使用场景是有的 我的情况是使用相同中间件的合并成一组,但路由还是想保持一致,比如用户开通了某个功能的时候某些路由会有不同的业务逻辑,这些路由我就合并到一起,这些路由会添加某个中间件 crmeb那边是不同功能组进行了分组,是option不同分组,他这个是路由功能扩展了 你可以看下 https://gitee.com/ZhongBangKeJi/CRMEB/blob/master/crmeb/app/adminapi/route/setting.php
> 是不是开启了分组合并路由检测后导致的? 我有仔细看了下代码确实是 这个问题 新版本需要 把` 'route_rule_merge' => false`
确实是有问题,在$option['middleware']列表出现数组的时候,array_diff的时候报错Array to string conversion
> $middleware = !empty($option['without_middleware']) ? array_diff(array_map(fn($item) => $item[0], $option['middleware']), $option['without_middleware']) : []; 这样改还是有个问题,如果中间件是闭包的情况,会报错误Object of class Closure could not be converted to string