hyperf icon indicating copy to clipboard operation
hyperf copied to clipboard

Upgrade the minimum php version to 8.0 for all components

Open limingxinleo opened this issue 4 years ago • 15 comments

  • [x] amqp
  • [x] async-queue
  • [x] cache
  • [x] circuit-breaker
  • [x] command
  • [x] config
  • [x] config-aliyun-acm
  • [x] config-apollo
  • [x] config-center
  • [x] config-etcd
  • [x] config-nacos
  • [x] config-zookeeper
  • [x] constants
  • [x] consul
  • [x] contract
  • [x] coordinator
  • [x] crontab
  • [x] dag
  • [x] db
  • [x] db-connection
  • [x] devtool
  • [x] di
  • [x] dispatcher
  • [x] elasticsearch
  • [x] etcd
  • [x] event
  • [x] exception-handler
  • [x] filesystem
  • [x] framework
  • [ ] graphql
  • [ ] grpc
  • [x] grpc-client
  • [ ] grpc-server
  • [x] guzzle
  • [x] http-message
  • [x] http-server
  • [x] ide-helper
  • [x] json-rpc
  • [x] kafka
  • [x] load-balancer
  • [x] logger
  • [x] macroable
  • [x] memory
  • [x] metric
  • [x] model-cache
  • [x] model-listener
  • [x] nacos
  • [x] nats
  • [x] nsq
  • [x] paginator
  • [x] phar
  • [x] pool
  • [x] process
  • [x] protocol
  • [x] rate-limit
  • [x] reactive-x
  • [x] redis
  • [x] resource
  • [x] resource-grpc
  • [x] retry
  • [x] rpc
  • [x] rpc-client
  • [x] rpc-multiplex
  • [x] rpc-server
  • [x] rpn
  • [x] scout
  • [x] server
  • [x] service-governance
  • [x] service-governance-consul
  • [x] service-governance-nacos
  • [x] session
  • [x] signal
  • [x] snowflake
  • [x] socket
  • [x] socketio-server
  • [x] super-globals
  • [ ] swagger
  • [x] swoole-tracker
  • [x] task
  • [x] testing
  • [x] tracer
  • [x] translation
  • [x] utils
  • [x] validation
  • [x] view
  • [x] view-engine
  • [x] watcher
  • [x] websocket-client
  • [x] websocket-server

limingxinleo avatar Nov 09 '21 09:11 limingxinleo

是否会适配php8.1

diankemao avatar Nov 10 '21 02:11 diankemao

是否会适配php8.1

会的

limingxinleo avatar Nov 10 '21 03:11 limingxinleo

3.0版本个人认为不需要急着发新版,提议在3.0补充引入:完善分布式事务组件、物联网组件;然后才完美的发新版,如果时间允许也引入GRPC注册发现组件更好,这样就完美的php全家桶

diankemao avatar Dec 08 '21 02:12 diankemao

3.0版本个人认为不需要急着发新版,提议在3.0补充引入:完善分布式事务组件、物联网组件;然后才完美的发新版,如果时间允许也引入GRPC注册发现组件更好,这样就完美的php全家桶

是的,不会着急发正式版本的。

limingxinleo avatar Dec 08 '21 12:12 limingxinleo

应该做2.2的这个版本把一些组件写做好,这个版本应该是很多人在用的。然后再迁移到3上面,hyperf不应该为了发版而发本版,现在更应该考虑一个lts版本。

sp56 avatar Jan 10 '22 10:01 sp56

@sp56 2.2 里哪些组件没做好?

3.0 应该是第一个 LTS

limingxinleo avatar Jan 10 '22 11:01 limingxinleo

同问 2.2 哪个组件没做好?

同时给大家补充一个你应该知道的信息,截止至今,PHP 7 全版本已不再处于官方的积极维护状态,PHP 官方积极维护的最低版本已是 PHP 8.0

http://php.net/supported-versions.php

huangzhhui avatar Jan 10 '22 19:01 huangzhhui

同问 2.2 哪个组件没做好?

同时给大家补充一个你应该知道的信息,截止至今,PHP 7 全版本已不再处于官方的积极维护状态,PHP 官方积极维护的最低版本已是 PHP 8.0

http://php.net/supported-versions.php

1、表达有误,应该是可以加入一些当下流行技术的组件,比如上面兄弟说的GRPC注册发现组件。为什么这么说呢,因为phper不会太关注数据类型,各系统的开发语言一般情况下不只php,在做交互的时候还是比较在意数据类型的。个人觉得引入grpc的注册发现组件还是很有必要的,而且目前grpc远比jsonrpc流行

2、php8的性能相较php7并没有比php7相较php5所带来的性能大幅提升,所以很多公司一般情况下并不会贸然切到php8上面去。再者,目前互联网相对php7的时候红利小太多,新业务也占比小,大多数开发者还是停留在php7上面

3、个人看法,如去发3.0,不如把目前的2.0的版本完善,做成上面兄弟说的真正意义上的全家桶。然后再上3.0,在使用的开发者用的也放心。比如我现在,一月前让大家用2.2把老系统重构,面向用户的用hyperf,高频的全部用golang,一直想官方能在2.0上面有一个lts版本,搞的现在总在想当初的决定是不是错的

sp56 avatar Jan 11 '22 02:01 sp56

grpc 的问题,很难。。这块需要吃掉我们超级多的时间,我原本打算这些都是在 3.0 里来做的。

2.2 的版本,更多是维护住现在的局面,就算要搞 grpc ,也是要等 3.0 发布 beta 版本或者发布第一个正式版本后,再做一个 incubator 包,兼容 3.0 和 2.2 。当成熟后再合并到 3.0 中。

limingxinleo avatar Jan 11 '22 02:01 limingxinleo

grpc 的问题,很难。。这块需要吃掉我们超级多的时间,我原本打算这些都是在 3.0 里来做的。

2.2 的版本,更多是维护住现在的局面,就算要搞 grpc ,也是要等 3.0 发布 beta 版本或者发布第一个正式版本后,再做一个 incubator 包,兼容 3.0 和 2.2 。当成熟后再合并到 3.0 中。

分布式事务解决方案 在lts版本 也要加入才好

diankemao avatar Jan 12 '22 04:01 diankemao

就算有 Hyperf 3.0,那 2.2 也是处于 Security fixes only 的阶段,既然可以接受 PHP 7.4 处于 Security fixes only 阶段,为啥不能接受 Hyperf ?我觉得新组件跟哪个版本都不冲突,新组件永远都是走 Incubator 孵化的路径去产生的

huangzhhui avatar Jan 12 '22 12:01 huangzhhui

现在注解都是这样的格式, 不利于idea追踪

    public function __construct(...$value)
    {
        parent::__construct(...$value);

        $this->value = $this->formatParams($value);
    }

Hyperf 3.0 使用PHP8原生注解 , 是否可以考虑把注解这样写 , 就不用引入hyperf/ide-helper

    public function __construct(string $name, bool $required)
    {
    }

tw2066 avatar Jan 19 '22 05:01 tw2066

@tw2066 其实我之前也考虑过。。

limingxinleo avatar Jan 19 '22 06:01 limingxinleo

3.0版本个人认为不需要急着发新版,提议在3.0补充引入:完善分布式事务组件、物联网组件;然后才完美的发新版,如果时间允许也引入GRPC注册发现组件更好,这样就完美的php全家桶

是的,不会着急发正式版本的。

但是能不能先放出hyper/utils的upgrade先让8.1能用咧。

cevin avatar Apr 20 '22 02:04 cevin

@cevin 直接升级到 3.0 吧

https://github.com/hyperf/hyperf/blob/3.0/docs/zh-cn/upgrade/3.0.md

limingxinleo avatar Apr 20 '22 02:04 limingxinleo