From 64a396e200c60ac475d0609b2817ea55e77b06c2 Mon Sep 17 00:00:00 2001 From: SalfordShane <71385269+SalfordShane@users.noreply.github.com> Date: Wed, 29 Sep 2021 04:54:56 +0100 Subject: [PATCH] Translating the introduction section (About, Communication, Donate, Contribute), update the README.md to match the new About section, adding a CONTRIBUTING.md file to match the contribute section (#4105) --- CONTRIBUTING.md | 19 +++++++++++++++++++ README.md | 24 +++++++++++++++--------- docs/en/README.md | 24 ++++++++++++++++++------ docs/en/communication.md | 2 +- docs/en/contribute.md | 20 ++++++++++---------- docs/en/donate.md | 9 +++++---- 6 files changed, 68 insertions(+), 30 deletions(-) create mode 100755 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100755 index 000000000..728af311c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,19 @@ +# Participate in development + +Hyperf is an open source project. The development of this open source project is impossible without the support of our community. If you want to participate in the development of Hyperf, you can begin by checking out our open [issues](https://github.com/hyperf/hyperf/issues?page=2&q=is%3Aissue+is%3Aopen), usually following these steps: + +1. Follow the [issues](https://github.com/hyperf/hyperf/issues?page=2&q=is%3Aissue+is%3Aopen) page, and reply to the comments of users who ask questions; +2. Via the [issues](https://github.com/hyperf/hyperf/issues?page=2&q=is%3Aissue+is%3Aopen) page, look for bugs or feature requests within your capabilities according to your current understanding of Hyperf, and submit code to the [hyperf/hyperf](https://github.com/hyperf/hyperf) repository in the form of a [Pull Request](https://github.com/hyperf/hyperf/pulls); +3. Follow the progress and replies to your Pull Request, in order to merge your Pull Request into the main repository as soon as possible; +4. Review Pull Requests submitted by others and give suggestions and opinions. +5. Develop independent functional components according to the needs of others or yourself; +6. Persist in and continue to carry out the above steps. + +## Join the Hyperf team + +The Hyperf team continuously maintains and upgrades the Hyperf project and the ecosystem of projects surrounding Hyperf. If you want to join, you first need to have sufficient and continuous enthusiasm and motivation for Hyperf and our open source work, because you need to devote a lot of time and energy to Hyperf projects. In addition, you also need to have enough understanding of the Hyperf project to facilitate ongoing maintenance work. Therefore, we also set a threshold for joining the Hyperf team: **You need at least 100 commits in the [hyperf/hyperf](https://github.com/hyperf/hyperf) repository, or to have contributed some functional components to Hyperf, and be nominated by any existing Hyperf team member, before getting the agreement of over half of the current team members.** + +Upon joining the Hyperf team, you will get benefits including but not limited to the following: +1. @hyperf.io E-mail address +2. [Jetbrains All-Products Pack](https://www.jetbrains.com/store/#commercial?billing=yearly) (US $649/year) +3. [Github team membership](https://github.com/orgs/hyperf/people) \ No newline at end of file diff --git a/README.md b/README.md index 5ac18ddf1..e2bfbd56e 100644 --- a/README.md +++ b/README.md @@ -14,25 +14,31 @@ English | [中文](./README-CN.md) Monthly Downloads

-# Introductions +# Introduction -Hyperf is an extremely performant and flexible progressive PHP CLI framework, powered by the state-of-the-art coroutine server and a large number of battle-tested components. Aside from the decisive benchmark outmatching against PHP-FPM frameworks, Hyperf also distinct itself by its focus on flexibility and composability. Hyperf ships with an AOP-enabling dependency injector to ensure components and classes are pluggable and meta programmable. All of its core components strictly follow the PSR standards and thus can be used in other frameworks. +Hyperf is an extremely performant and flexible PHP CLI framework, powered by a state-of-the-art coroutine server and a large number of battle-tested components. Aside from decisively beating PHP-FPM frameworks in benchmarks, Hyperf is unique in its focus on flexibility and composition. Hyperf ships with an AOP-enabling (aspect-oriented programming) dependency injector to ensure components and classes are pluggable and meta-programmable. All of Hyperf's core components strictly follow [PSR](https://www.php-fig.org/psr) standards and can be used in other frameworks. -Hyperf's architecture is built upon the combination of `Coroutine`, `Dependency injection`, `Events`, `Annotation`, `AOP (aspect-oriented programming)`. Core components provided by Hyperf can be used out of the box in coroutine context. The set includes but not limited to: `MySQL coroutine client`, `Redis coroutine client`, `WebSocket server and client`, `JSON RPC server and client`, `gRPC server and client`, `Zipkin/Jaeger (OpenTracing) client`, `Guzzle HTTP client`, `Elasticsearch client`, `Consul client`, `ETCD client`, `AMQP component`, `Apollo configuration center`, `Aliyun ACM`, `ETCD configuration center`, `Token bucket algorithm-based limiter`, `Universal connection pool`, `Circuit breaker`, `Swagger`, `Swoole Tracker`, `Snowflake`, `Simply Redis MQ`, `RabbitMQ`, `NSQ`, `Nats`, `Seconds level crontab`, `Custom Processes`, etc. Be assured Hyperf is still a PHP framework. You will also find familiar packages such as `Middleware`, `Event Manager`, `Coroutine optimized Eloquent ORM` (And Model Cache!), `Translation`, `Validation`, `View engine (Blade/Smarty/Twig/Plates/ThinkTemplate)` and more at your command. +Hyperf's architecture is built using a combination of `Coroutines`, `Dependency injection`, `Events`, `Annotations`, and `AOP`. In addition to providing `MySQL`, `Redis` and other common coroutine clients, `Hyperf` also provides coroutine compatible versions of `WebSocket server / client`, `JSON RPC server / client`, `gRPC server / client`, `Zipkin/Jaeger (OpenTracing) client`, `Guzzle HTTP client`, `Elasticsearch client`, `Consul client`, `ETCD client`, `AMQP component`, `Apollo configuration center`, `Aliyun ACM`, `ETCD configuration center`, `Token bucket algorithm-based limiter`, `Universal connection pool`, `Circuit breaker`, `Swagger`, `Swoole Tracker`, `Snowflake`, `Simply Redis MQ`, `RabbitMQ`, `NSQ`, `Nats`, `Seconds level crontab`, `Custom Processes`, etc. Therefore, developers can entirely avoid implementing coroutine compatible versions of these libraries. + +Rest assured, Hyperf is still a PHP framework. Hyperf provides all the packages you expect: `Middleware`, `Event Manager`, `Coroutine-optimized Eloquent ORM` (and Model Cache!), `Translation`, `Validation`, `View engine (Blade/Smarty/Twig/Plates/ThinkTemplate)` and more. # Origin -Many new PHP frameworks had emerged over the years, yet we were still waiting for one that unites the ultra-performance and elegant design, as well as paving the way for PHP microservice. Hence Hyperf was born to be the pioneer. With this vision in mind, we will continue to invest in it, and you are welcome to join us to participate in open source development. +Although there are many new PHP frameworks, we still haven't found a framework that matches an elegant design with ultra-high performance, nor have we found a framework that paves the way for PHP microservices. With this vision in mind, we will continue to invest in the future of this framework, and you are welcome to join us in contributing to the open-source development of Hyperf. # Design Goals -`Hyperspeed + Flexibility = Hyperf`. The equation hidden in the name exhibits Hyperf's genetic ambition. +`Hyperspeed + Flexibility = Hyperf`. The equation hidden in our name exhibits Hyperf's founding ambition. -Hyperspeed: Leveraging Swoole and Swow coroutine, Hyperf is capable of handling massive traffic. Hyperf team made many optimizations throughout the framework to eliminate every obstacle between the end-user and the roaring engine. +Hyperspeed: Leveraging `Swoole` and `Swow` coroutines, Hyperf is capable of handling massive amounts of traffic. The Hyperf team made many optimizations to the framework to eliminate every bottleneck between the end-user and our blazing engine. -Flexibility: Hyperf believes its Dependency Injection component is best in class. With the help of Hyperf DI, components and class are all pluggable and meta programmable. On the other hand, All Hyperf components are mean to be shared interchangeably with the world, as they all follow [PSR](https://www.php-fig.org/psr) or open contracts. +Flexibility: We believe our Dependency Injection component is best in class. With the help of `Hyperf DI`, components and classes are all pluggable and meta-programmable. Inversely, all Hyperf components are meant to be shared with the world. Our commitment to PSR standards means that you can use Hyperf components in any compatible framework. -Thanks to these metrits, Hyperf has enabled untapped potential in many areas, such as implementing Web servers, gateway servers, distributed middleware software, microservices architecture, game servers, and Internet of Things (IoT). +Via these traits, Hyperf has discovered the untapped potential in many fields: implementing Web servers, gateway servers, distributed middleware software, microservices architecture, game servers, and Internet-of-Things (IoT). + +# Production ready + +Alongside our well-maintained, multilingual documentation, a large number of unit tests for each component ensure logical correctness. Before `Hyperf` was released to the public (2019-06-20), it was used privately for multiple services in series-C and series-B Internet companies, which have been running without incident for years in harsh production environments. # Documentation @@ -40,7 +46,7 @@ Thanks to these metrits, Hyperf has enabled untapped potential in many areas, su # Security Vulnerabilities -If you discover a security vulnerability within Hyperf, please send an e-mail to Hyperf Team via group@hyperf.io. All security vulnerabilities will be promptly addressed. +If you discover a security vulnerability within Hyperf, please send an e-mail to the Hyperf Team via group@hyperf.io. All security vulnerabilities will be promptly addressed. # Code Contributors diff --git a/docs/en/README.md b/docs/en/README.md index 4fe05280d..728045fa9 100644 --- a/docs/en/README.md +++ b/docs/en/README.md @@ -1,13 +1,25 @@ # Introduction -Hyperf is a high-performance, highly flexible PHP CLI framework based on `Swoole 4.5+`. It has a built-in coroutine server with a large number of commonly used components. It provides ultra-high and better performance than the traditional PHP-FPM-based framework and also maintains extremely flexible scalability at the same time. Standard components are implemented in the latest PSR standards, and a powerful dependency injection design ensures that most components or classes within the framework are replaceable. +Hyperf is an extremely performant and flexible PHP CLI framework, powered by a state-of-the-art coroutine server and a large number of battle-tested components. Aside from decisively beating PHP-FPM frameworks in benchmarks, Hyperf is unique in its focus on flexibility and composition. Hyperf ships with an AOP-enabling (aspect-oriented programming) dependency injector to ensure components and classes are pluggable and meta-programmable. All of Hyperf's core components strictly follow [PSR](https://www.php-fig.org/psr) standards and can be used in other frameworks. -In addition to providing `MySQL coroutine client` and `Redis coroutine client`, common coroutine clients, the Hyperf component libraries are also prepared for the coroutine version of `Eloquent ORM`, `GRPC server and client`, `Zipkin (OpenTracing) client`, `Guzzle HTTP client`, `Elasticsearch client`, `Consul client`, `ETCD client`, `AMQP component`, `Apollo configuration center`, `Token bucket algorithm-based limiter`, and `Universal connection pool`, etc. Therefore, the trouble of implementing the corresponding coroutine version client by yourself can be avoided. Hyperf also provides convenient functions such as `Dependency injection`, `Annotation`, `AOP (aspect-oriented programming)`, `Middleware`, `Custom Processes`, `Event Manager`, `Simply Redis message queue`, and `Full-featured RabbitMQ message queue` to meet a wide range of technical and business scenarios. +Hyperf's architecture is built using a combination of `Coroutines`, `Dependency injection`, `Events`, `Annotations`, and `AOP`. In addition to providing `MySQL`, `Redis` and other common coroutine clients, `Hyperf` also provides coroutine compatible versions of `WebSocket server / client`, `JSON RPC server / client`, `gRPC server / client`, `Zipkin/Jaeger (OpenTracing) client`, `Guzzle HTTP client`, `Elasticsearch client`, `Consul client`, `ETCD client`, `AMQP component`, `Apollo configuration center`, `Aliyun ACM`, `ETCD configuration center`, `Token bucket algorithm-based limiter`, `Universal connection pool`, `Circuit breaker`, `Swagger`, `Swoole Tracker`, `Snowflake`, `Simply Redis MQ`, `RabbitMQ`, `NSQ`, `Nats`, `Seconds level crontab`, `Custom Processes`, etc. Therefore, developers can entirely avoid implementing coroutine compatible versions of these libraries. -# Original intention +Rest assured, Hyperf is still a PHP framework. Hyperf provides all the packages you expect: `Middleware`, `Event Manager`, `Coroutine-optimized Eloquent ORM` (and Model Cache!), `Translation`, `Validation`, `View engine (Blade/Smarty/Twig/Plates/ThinkTemplate)` and more. -Although there are many new PHP frameworks have been appeared, but we still has not seen a perfect framework which has the coexistence of elegant design and ultra-high performance, nor would we find a framework that really paves the way for PHP microservices. For the original intention of Hyperf +# Origin -# Production available +Although there are many new PHP frameworks, we still haven't found a framework that matches an elegant design with ultra-high performance, nor have we found a framework that paves the way for PHP microservices. With this vision in mind, we will continue to invest in the future of this framework, and you are welcome to join us in contributing to the open-source development of Hyperf. -We performed a large number of unit tests on the components to ensure the correctness of the logic, while maintaining high-quality documentation. Before Hyperf officially opened to the public (2019-06-20), it had already launched multiple services in a C-round and a B-round Internet companies, and it has been running perfectly for more than half a year. After the test of the harsh production environment, we officially published this project. +# Design Goals + +`Hyperspeed + Flexibility = Hyperf`. The equation hidden in our name exhibits Hyperf's founding ambition. + +Hyperspeed: Leveraging `Swoole` and `Swow` coroutines, Hyperf is capable of handling massive amounts of traffic. The Hyperf team made many optimizations to the framework to eliminate every bottleneck between the end-user and our blazing engine. + +Flexibility: We believe our Dependency Injection component is best in class. With the help of `Hyperf DI`, components and classes are all pluggable and meta-programmable. Inversely, all Hyperf components are meant to be shared with the world. Our commitment to PSR standards means that you can use Hyperf components in any compatible framework. + +Via these traits, Hyperf has discovered the untapped potential in many fields: implementing Web servers, gateway servers, distributed middleware software, microservices architecture, game servers, and Internet-of-Things (IoT). + +# Production ready + +Alongside our well-maintained, multilingual documentation, a large number of unit tests for each component ensure logical correctness. Before `Hyperf` was released to the public (2019-06-20), it was used privately for multiple services in series-C and series-B Internet companies, which have been running without incident for years in harsh production environments. \ No newline at end of file diff --git a/docs/en/communication.md b/docs/en/communication.md index 6920ca29c..1e025d62e 100644 --- a/docs/en/communication.md +++ b/docs/en/communication.md @@ -8,6 +8,6 @@ Group Number: `862099724` ## WeChat Group -Since the WeChat group can't be added directly, so you can scan the QR code below and add as a WeChat friend, please declare the purpose when you sending the friend request, then I will pull you into the group. +Since you can't directly join the WeChat group, you can scan the QR code below and add us as a WeChat friend. Please declare the purpose when sending the friend request, after receiving the request we will add you to our group. ![wechat](imgs/wechat.jpg ':size=375') \ No newline at end of file diff --git a/docs/en/contribute.md b/docs/en/contribute.md index 9f90af5a7..cdc1fa03c 100644 --- a/docs/en/contribute.md +++ b/docs/en/contribute.md @@ -1,19 +1,19 @@ -# Participation in development +# Participate in development -Hyperf is an open source project. The development of an open source project cannot be without the support of the open source community. If you want to participate in the development of Hyperf, you can beginning by [issues](https://github.com/hyperf/hyperf/issues?page=2&q=is%3Aissue+is%3Aopen), usually with the following steps: +Hyperf is an open source project. The development of this open source project is impossible without the support of our community. If you want to participate in the development of Hyperf, you can begin by checking out our open [issues](https://github.com/hyperf/hyperf/issues?page=2&q=is%3Aissue+is%3Aopen), usually following these steps: -1. Follow the [issues](https://github.com/hyperf/hyperf/issues?page=2&q=is%3Aissue+is%3Aopen) page, and then replies the comments to help users who ask questions; -2. According to [issues](https://github.com/hyperf/hyperf/issues?page=2&q=is%3Aissue+is%3Aopen) page, look for bugs or feature request within your capabilities according to your current understanding of Hyperf, and submit the code to [hyperf/hyperf](https://github.com/hyperf/hyperf) repository in the form of [Pull Request](https://github.com/hyperf/hyperf/pulls); -3. Follow the progress and replies of your Pull Request, so as to push your Pull Request into the main repository as soon as possible; -4. Code Review the Pull Request submitted by others and give your suggestions and opinions. +1. Follow the [issues](https://github.com/hyperf/hyperf/issues?page=2&q=is%3Aissue+is%3Aopen) page, and reply to the comments of users who ask questions; +2. Via the [issues](https://github.com/hyperf/hyperf/issues?page=2&q=is%3Aissue+is%3Aopen) page, look for bugs or feature requests within your capabilities according to your current understanding of Hyperf, and submit code to the [hyperf/hyperf](https://github.com/hyperf/hyperf) repository in the form of a [Pull Request](https://github.com/hyperf/hyperf/pulls); +3. Follow the progress and replies to your Pull Request, in order to merge your Pull Request into the main repository as soon as possible; +4. Review Pull Requests submitted by others and give suggestions and opinions. 5. Develop independent functional components according to the needs of others or yourself; 6. Persist in and continue to carry out the above steps. ## Join the Hyperf team -The Hyperf team is a team that continuously maintains and upgrades the Hyperf project and the ecosystem projects of Hyperf. If you want to join it, you first need to have sufficient and continuous enthusiasm and motivation for Hyperf and open source, because you need to devote a lot of time and energy to Hyperf projects. At the same time, you also need to have enough understanding of the Hyperf project to facilitate the maintenance work. Therefore, we also set a certain threshold for joining the Hyperf team. **You need to have at least 100 commits in the [hyperf/hyperf](https://github.com/hyperf/hyperf) repository, or contribute some functional components to Hyperf, and be nominated by any existing Hyperf team member and get the agreement of over half of the team members.** +The Hyperf team continuously maintains and upgrades the Hyperf project and the ecosystem of projects surrounding Hyperf. If you want to join, you first need to have sufficient and continuous enthusiasm and motivation for Hyperf and our open source work, because you need to devote a lot of time and energy to Hyperf projects. In addition, you also need to have enough understanding of the Hyperf project to facilitate ongoing maintenance work. Therefore, we also set a threshold for joining the Hyperf team: **You need at least 100 commits in the [hyperf/hyperf](https://github.com/hyperf/hyperf) repository, or to have contributed some functional components to Hyperf, and be nominated by any existing Hyperf team member, before getting the agreement of over half of the current team members.** -Joining the Hyperf team, you will get benefits including but not limited to the following: -1. @hyperf.io E-mail -2. [Jetbrains All Products Pack](https://www.jetbrains.com/store/#commercial?billing=yearly) (US $649/year) +Upon joining the Hyperf team, you will get benefits including but not limited to the following: +1. @hyperf.io E-mail address +2. [Jetbrains All-Products Pack](https://www.jetbrains.com/store/#commercial?billing=yearly) (US $649/year) 3. [Github team membership](https://github.com/orgs/hyperf/people) \ No newline at end of file diff --git a/docs/en/donate.md b/docs/en/donate.md index ac896ef3e..5006c848d 100644 --- a/docs/en/donate.md +++ b/docs/en/donate.md @@ -1,11 +1,12 @@ # Donate -Hyperf is an MIT licensed open source project and completely free to use. However, the amount of effort needed to maintain and develop new features for the project is not sustainable without proper financial backing. You can support Hyperf development via the following methods: +Hyperf is an MIT licensed open source project and is completely free to use. However, the amount of effort needed to maintain and develop new features for the project is not sustainable without proper financial backing. You can support Hyperf's development via the following methods: ## Sponsor the development of Hyperf -If you run a business and are using Hyperf in a revenue-generating product, it makes business sense to sponsor Hyperf development: it ensures the project that your product relies on stays healthy and actively maintained. It can also help your exposure in the Hyperf community and makes it easier to attract Hyperf developers. -If you are an individual user and have enjoyed the productivity of using Hyperf, consider donating as a sign of appreciation - like buying me coffee once in a while :) +If you run a business and are using Hyperf in a revenue-generating product, it makes business sense to sponsor Hyperf's development: it ensures the project that your product relies on stays healthy and actively maintained. It can also help your exposure in the Hyperf community that makes it easier to attract Hyperf developers. + +If you are an individual user and have enjoyed the productivity of using Hyperf, consider donating as a sign of appreciation - like buying us coffee once in a while :) ### One-time Donations @@ -18,4 +19,4 @@ We accept donations through these channels: Recurring pledges come with exclusive perks, e.g. having your name listed in the Hyperf GitHub repository, or have your company logo placed on this website. -> If you wish to provide periodic sponsorship for the Hyperf team, you can join the official WeChat group or QQ group and contact the group owner, or email h@hyperf.io \ No newline at end of file +> If you wish to provide recurring sponsorship for the Hyperf team, you can join the official WeChat group or QQ group and contact the group owner, or email h@hyperf.io \ No newline at end of file