Closed inhere closed 5 years ago
swoole的timer中的一次和多次定时器需要支持下
服务注册和发现那是必须得有啊 哈哈哈
服务注册和发现那是必须得有啊 哈哈哈
这个不再是必须的了 😄 现在 service mesh 这么火,他可以把这些都做了 后面可能会提供一些辅助类,帮助快速注册到 consul 之类的
希望能增加依赖注入,配合注解使用还是很不错的。
轻一点 然后需要即加载
有没有考虑过添加Requsts和Resources两层 Requests 专门做入参校验、比如类里面有属性,对应入参的值,在属性上可以添加注解进行校验,通过在controller具体的操作方法中用注解引入Requst 校验类 ,目前所有的字段添加到controller还是臃肿了
Resources 专门做出参格式化,从Logic获取数据后,通过Resource格式化为对应的格式输出
后期可以针对request和resource做一个api导出工具,既有入参又有出参
或者 两者变为一层 Structs层,反正Resources这一层就是和Request有重叠,我看laravel里面分成了Request和Resources
@sowork 是有想支持将验证的独立到一个类来做,这样对于一些字段较多的提交比较清晰
@inhere 是的,这是一个需求
如果能在其基础上扩充功能,比如根据入参属性生成文档,响应的时候,根据出参属性,自动返回给定的格式
希望swoft2.0连接池,配置中的多个负载地址,能够支持获取其中某个地址连接的功能。 需求其实主要是针对rpc这块,目前有些应用场景,对应多个rpc-server,希望能够定向分配一个server(比如用户登录成功后固定分配某一个server)。有些场景下的根据hash分库存储也可以用上。 目前1.0是按照连接池配置、服务写死的,有了这个功能,我想可以做到rpc-server动态上下线。
再确认下,这个2.0会支持么。
@tanpeng 你的原始需求是什么
@tanpeng 你的原始需求是什么 @stelin
上图是1.0 连接池DB配置以及支持的形式(rpc也是一样的),支持配置多个地址进行负载。 主要需求是,希望能明确获取多个地址中指定的某一个;进一步的需求是,配置地址队列能动态增加或者摘除,这点不知道是否过份 (^.^)(^.^)。 因为现在多个地址,最大连接数等配置参数是共用的,某个地址最终建立多少连接是完全随机的,地址是否有效,也是不能动态去处理的。
@tanpeng 这个需求暂时不实现。
@stelin @inhere 大佬们,请问swoft2.0有预计发布日期吗?
新版是否有改进env里关于开发环境又不同的处理策略 比如异常处理,env是prod和dev应该有不同的错误输出(prod隐藏错误细节,dev输出详情),或者设置APP_DEBUG开控制
新版是否有改进env里关于开发环境又不同的处理策略 比如异常处理,env是prod和dev应该有不同的错误输出(prod隐藏错误细节,dev输出详情),或者设置APP_DEBUG开控制
异常处理都在 app/exception 里, 你可以自己根据 APP_DEUBG 之类的来调整输出
@inhere 我现在是这么处理的,感觉这些细节框架初始化直接附带上是不是更好点
也是可以的,不过现在这样自定义性更高
不想加,是因为不好加 各个人用的习惯不一样, prod 有些团队用的 pro production ... 等等,没法在框架内部定义出来
直接附带 - 就是在我们发的demo里加上这个判断就行了 😄
db这边的语法错误提示 比如
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'xxx' in 'where clause' file=/vendor/swoft/db/src/Driver/Mysql/SyncMysqlConnection.php line=85
这样的提示如果能补全到发生在哪个dao的具体位置会不会更好
希望orm部分考虑分库分表,可以有一些比较简单的使用
快速切换DB会提供。分表就不会实现了。。。
定时任务用的相当多,去掉是为什么呀
@scguang301 分表分库这种应该考虑使用一些中间件,如Mycat
是想后面重写定时任务这块,但是暂时没时间
快速切换DB会提供。分表就不会实现了。。。
快速切换表是否可以提供
现在用1.0做开发框架了,1.0能完美升级到2.0吗?
快速切换DB会提供。分表就不会实现了。。。
快速切换表是否可以提供
哈哈 这样 DB::table('table name')
就可以了
现在用1.0做开发框架了,1.0能完美升级到2.0吗?
完美 应该是不行的。 不过表面上的使用大体都是没有变动的,变动最明显的是db吧。
现在用1.0做开发框架了,1.0能完美升级到2.0吗?
完美 应该是不行的。 不过表面上的使用大体都是没有变动的,变动最明显的是db吧。
是打算用laravel的orm吗?个人觉得Yii2的AR 操作也很丰富,如果可以兼容yii2的AR就更好了
@phper666 现在2.0数据库已经高度兼容 laravel,至于 Yii 不会考虑兼容。
快速切换DB会提供。分表就不会实现了。。。
快速切换表是否可以提供
哈哈 这样
DB::table('table name')
就可以了
快速表table,什么意思?
快速表table,什么意思?
快速切换表
@inhere @stelin 昨天试了一下master的代码,发现会报错
Call to undefined method Swoole\Coroutine::getCid()
看了一下swoole源码发现4.3才提供getCid
方法,所以这里要改一下
@hihozhou 好吧 改成 4.3+ 了
亟需一款强力 Debugger
希望orm是组件化的,可以替换成其它orm,比如Doctrine
日志如果选用本地File的话,是否可以做 文件大小 的配置,日志写入的时候 如果当前文件达到size就进行切割, 同时日志这块是否可以本地以年月为目录,日志名以当天day,切割后的文件名以 day_时间戳 这样类似的格式进行保存。
本地存储日志文件这块是个问题,因为一旦单个文件size变大的时候很麻烦。 希望新版本可以进行变动一下
@f39516046 老的可以自定义log handler
这块如果内置的话,应该会更好吧, 一旦服务启动后,日志文件大小完全像滚雪球一样快速增大。 个人建议
希望加入一个企业级的RPC服务组件
@geXingW debugger 应该很后面才考虑,暂时应该是基础组件
@strivefatup 直接替换其它 ORM 有点难,2.0 ORM高度兼容laravel,熟悉laravel的用户,可以快速上手。
@f39516046 内置不太好,因为每个人拆分日志业务不一样,可以做好预留,根据用户需求自己按业务拆分。
@strivefatup直接替换其它ORM有点难,2.0 ORM高度兼容laravel,熟悉laravel的用户,可以快速上手。 在开发大型和复杂的应用时,Doctrine更具有优势,社区也比较完善
2.0基础文档,能不能赶紧上一版
@inhere
@geXingW debugger 应该很后面才考虑,暂时应该是基础组件
debugger 方便开发者追踪、调试、学习,直接降低门槛、提高了开发效率
orm, model层联合主键会支持吗
自动扫描文件需要考虑 vim
生成的交换文件 *.php.swap
扫描问题,虽然可以通过设置不生成交换文件,但是不是最好的选择。
建议增加SOCKET通讯支持。最好集成编解码组件。参见: https://github.com/byteferry/sdds_php
swoft 2.0 开发意见收集
鉴于1.0的规划过于庞大,一些组件其实很少人使用,开发团队感觉维护困难。
决定开发2.0:
这里做一些意见收集
去除的功能:
auto reload
极大的增加了框架启动逻辑复杂度defer
(getResult) 很少人使用需改进的功能:
swoft-cli
它来监控项目变动,发送重启信号新增的功能: