? hyperf releases snowflake components and multiple components v1.0.14 | enterprise level PHP microservice collaboration framework

Time:2019-12-26

Update content

This week’s update is mainly to add a global unique ID generator component based on snowflake algorithm, hyperf / snowflake. Snowflake is a distributed global ID generation algorithm proposed by twitter. This component implements snowflake algorithm and is designed to be easy to use. At the same time, it provides good scalability in design and can be easily converted into other bases At the same time, we also fixed some bugs of other components, which were released in version 1.0.14.
For more detailed descriptions of snowflake components, you can view the relevant documents of snowflake components, or directly visit the official website https://hyperf.io or the document https://doc.hyperf.io.

Newly added

  • #389 Γ— 419 Γ— 432 Γ— 524 new snowflake official component. Snowflake is a distributed globally unique ID generation algorithm proposed by twitter. The hyperf / snowflake component implements the algorithm and is designed to be easy to use. At the same time, it provides good scalability in design, and can be easily converted into other variant algorithms based on snowflake algorithm;
  • #525 isHyperf\HttpServer\Contract\ResponseInterfaceAdd one moredownload()Method to provide convenient download response return;

change

  • #482 when generating model files, when therefresh-fillableOption to regenerate thefillableProperty, and the command will no longer override the build by defaultfillableAttribute;
  • #501 whenMappingAnnotatedpathWhen the property is an empty string, the route is/prefixοΌ›
  • #513 if the project is setapp_nameProperty, the process name will be automatically brought with the name;
  • #508 Γ—526 when executed in a non cooperative environmentHyperf\Utils\Coroutine::parentId()Method returns anullValue;

repair

  • #479 fixed thehostWhen the property is set incorrectly, the return type is wrong;
  • #514 fix the problem of authentication failure when the redis password is configured as an empty string;
  • #527 fix the problem that translator can’t repeat translation;

About hyperf

Hyperf is based onSwoole 4.3+The implementation of high-performance, high flexibility PHP cooperation framework, built-in cooperation server and a large number of commonly used components, performance based on traditionalPHP-FPMWhile providing ultra-high performance, our framework also maintains extremely flexible scalability. Standard components are implemented based on PSR standards, and based on strong dependency injection design, ensuring that most components or classes areReplaceableAndReusable.
Β  Β 
In addition to the common collaborative version ofMySQL client、Redis clientIt also provides you with a collaborative version ofEloquent ORM、Websocket server and client、JSON RPC server and client、Grpc server and client、Zipkin (opentracking) client、Guzzle HTTP client、Elasticsearch client、Consul client、Etcd client、AMQP component、Apollo configuration center、Alicloud ACM application configuration management、Etcd configuration center、Current limiter based on token bucket algorithm、Universal connection pool、Fuse、Swagger document generation、Swoole enterprise、Blade and Smarty view engine、Snowflake global ID generatorAnd other components save the trouble of implementing the corresponding version.

Hyperf also providesDependency injection container based on psr-11、annotation、AOP aspect oriented programming、Middleware based on psr-15、Custom process、Event manager based on psr-14、Redis / rabbitmq message queue、Automatic model caching、Cache based on psr-16、Crontab scheduled tasks、InternationalizationAnd other very convenient functions, to meet the rich technical and business scenarios, out of the box.

Original intention of framework

Although the framework based on PHP language development is in an era of a hundred flowers contending, we still can’t see a perfect framework with elegant design and ultra-high performance coexisting, nor a framework that really paves the way for PHP microservices. This is the original intention of hyperf and its team members. We will continue to invest in and make efforts for this, and welcome you to join us Source construction.

Design concept

Hyperspeed + Flexibility = HyperfFrom the name, we willSuper high speedandflexibilityAs a gene of hyperf.
Β  Β 

  • For ultra-high speed, we are based on the swoole process and make a lot of optimization in the framework design to ensure the output of ultra-high performance.
  • For flexibility, we are based on the powerful dependency injection component of hyperf, which is based on the contract of PSR standard and the contract implementation defined by hyperf, so that most of the components or classes in the framework are replaceable.

Based on the above characteristics, hyperf will have rich possibilities, such as the realization of single web services, API services, gateway services, distributed middleware, micro service architecture, game servers, Internet of things (IOT), etc.

Complete documentation

We have invested a lot of time in the construction of documents to solve various problems caused by the lack of documents. Documents also provide a large number of examples, which are also friendly to novices.
Hyperf official development document

Production available

We do a lot of unit tests for components to ensure the logic is correct. Currently, there are651Single survey2021Four assertion conditions and high-quality documents have been maintained. Before hyperf was officially opened to the outside world (June 20, 2019), it had passed the test of harsh production environment, and we officially opened the project to the outside world. Β Β 

Official website and communication

GitHub and star support us
Gitee code cloud point star supports us
Hyperf official website
QQ group: 862099724