This commit is contained in:
huangzhhui 2019-03-19 13:26:41 +08:00
parent 1067d73440
commit f7edc645ec
5 changed files with 28 additions and 11 deletions

View File

@ -1,10 +1,20 @@
# 介绍
[组件库](https://github.com/hyperf-cloud/hyperf)
Hyperf 是基于 `Swoole 4.3+` 的高性能、高灵活性的 PHP 框架,内置协程服务器,性能较传统基于 `PHP-FPM` 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均以最新的 [PSR 标准](https://www.php-fig.org/psr) 实现,基于强大的依赖注入设计可确保框架内的绝大部分组件或类都是可替换的。
Hyperf 是基于 `Swoole 4.3+` 实现的高性能、高灵活性的 PHP 框架,内置协程服务器及大量常用的组件,性能较传统基于 `PHP-FPM` 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均以最新的 [PSR 标准](https://www.php-fig.org/psr) 实现,基于强大的依赖注入设计可确保框架内的绝大部分组件或类都是可替换的。
框架组件库内置了协程版的 `Eloquent ORM`、`GRPC 服务端及客户端`、`Zipkin (OpenTracing) 客户端`、`Guzzle HTTP 客户端`、`Elasticsearch 客户端`、`Consul 客户端`、`AMQP 组件`、`Apollo 配置中心`、`基于令牌桶算法的限流器`、`通用连接池` 等组件的提供也省去了自己去实现对应协程版本的麻烦,满足丰富的技术场景和业务场景。
框架组件库内置了协程版的 `Eloquent ORM`、`GRPC 服务端及客户端`、`Zipkin (OpenTracing) 客户端`、`Guzzle HTTP 客户端`、`Elasticsearch 客户端`、`Consul 客户端`、`ETCD 客户端`、`AMQP 组件`、`Apollo 配置中心`、`基于令牌桶算法的限流器`、`通用连接池` 等组件的提供也省去了自己去实现对应协程版本的麻烦,满足丰富的技术场景和业务场景。
# 框架初衷
尽管现在基于 PHP 语言开发的框架处于一个百花争鸣的时代,但仍旧没能看到一个优雅的设计与超高性能的共存的完美框架,亦没有看到一个真正为 PHP 微服务铺路的框架,此为 Hyperf 及其团队成员的初衷,我们将持续投入并为此付出努力,也欢迎你加入我们参与开源建设。
# 设计理念
`Hyperspeed + Flexibility = Hyperf`
从名字上我们就将 超高速 和 灵活性 作为 Hyperf 的基因。
对于超高速,我们基于 Swoole 协程并在框架设计上进行大量的优化以确保超高性能的输出。
对于灵活性,我们基于 Hyperf 强大的依赖注入组件,组件均基于 PSR标准 的契约和由 Hyperf 定义的契约实现,达到框架内的绝大部分的组件或类都是可替换的。
基于以上的特点Hyperf 将存在丰富的可能性,如实现 Web 服务网关服务分布式中间件微服务架构游戏服务器物联网IOT等。
## 快速入门
@ -39,10 +49,13 @@ Hyperf 是基于 `Swoole 4.3+` 的高性能、高灵活性的 PHP 框架,内
## 其他组件
- [缓存](cache.md)
- [AMQP / RabbitMQ](amqp.md)
- [基于 PSR-16 实现的缓存](cache.md)
- [AMQP / RabbitMQ 消息队列](amqp.md)
- [Elasticsearch 客户端](elasticsearch.md)
- [Consul 客户端](consul.md)
- [ETCD 客户端](etcd.md)
## 高级
## 组件开发指南

2
zh/config/intro.md Normal file
View File

@ -0,0 +1,2 @@
# 介绍
当您使用的是 Hyperf-Skeleton 项目创建的项目时,或基于 Hyperf-Installer 创建的项目Hyperf 的所有配置文件均处于根目录下的 `config` 文件夹内。

View File

@ -1,8 +1,8 @@
# 介绍
> `hyperf/database` 借鉴于 `laravel/database`其中功能大多相同但某些细节进行调整。在这里感谢laravel开发组实现了这么好用的ORM组件。
> `hyperf/database` 衍生于 `laravel/database`,我们对它进行了一些改造,大部分功能保持了相同。在这里感谢一下 Laravel 开发组,实现了如此强大好用的 ORM 组件。
database组件原设计是在fpm模式下运行所以hyperf不能直接使用。这里就需要提一下`hyperf/db-connection`组件,他基于`hyperf/pool`实现了数据库连接池以它作为桥梁hyperf才能把数据库组件接入进来。
`hyperf/database` 组件是基于 `laravel/database` 衍生出来的组件,我们对它进行了一些改造,从设计上是允许用于其它 PHP-FPM 框架或基于 Swoole 的框架中的,而在 Hyperf 里就需要提一下 `hyperf/db-connection` 组件,它基于 `hyperf/pool` 实现了数据库连接池并对模型进行了新的抽象以它作为桥梁Hyperf 才能把数据库组件及事件组件接入进来。
~~~php
<?php

View File

@ -11,15 +11,17 @@ Hyperf 对系统环境有一些要求,仅可运行于 Linux 和 Mac 环境下
- Swoole PHP 扩展 >= 4.3.1
- OpenSSL PHP 扩展
- JSON PHP 扩展
- PDO PHP 扩展 (如需要使用到 MySQL
- Redis PHP 扩展 (如需要使用到 Redis
- PDO PHP 扩展 (如需要使用到 MySQL 客户端)
- Redis PHP 扩展 (如需要使用到 Redis 客户端)
- Protobuf PHP 扩展 (如需要使用到 GRPC 服务端或客户端)
## 安装 Hyperf
Hyperf 使用 Composer 来管理项目的依赖,在使用 Hyperf 之前,请确保你的运行环境已经安装好了 Composer。
Hyperf 使用 [Composer](https://getcomposer.org) 来管理项目的依赖,在使用 Hyperf 之前,请确保你的运行环境已经安装好了 Composer。
### 通过 `composer create` 命令创建 [Skeleton](https://github.com/hyperf-cloud/hyperf-skeleton) 项目
[Hyperf Skeleton](https://github.com/hyperf-cloud/hyperf-skeleton) 项目是我们已经为您准备好的一个骨架项目,内置了一些常用的组件及相关配置的文件及结构,是一个可以快速用于业务开发的 Web 项目基础。
~~~
composer create hyperf/hyperf-skeleton
~~~