Code Monkey home page Code Monkey logo

hyperf-demo's Introduction

介绍

1.hyperf框架,代码分层设计,单应用多系统设计。
2.代码service层,增加interface,还有接口的实现。
3.vo层,定义类,转换后入库。
4.增加多系统的设计

环境要求

Hyperf has some requirements for the system environment, it can only run under Linux and Mac environment, but due to the development of Docker virtualization technology, Docker for Windows can also be used as the running environment under Windows.

The various versions of Dockerfile have been prepared for you in the hyperf\hyperf-docker project, or directly based on the already built hyperf\hyperf Image to run.

When you don't want to use Docker as the basis for your running environment, you need to make sure that your operating environment meets the following requirements:

  • PHP >= 7.3
  • Swoole PHP extension >= 4.4,and Disabled Short Name
  • OpenSSL PHP extension
  • JSON PHP extension
  • PDO PHP extension (If you need to use MySQL Client)
  • Redis PHP extension (If you need to use Redis Client)
  • Protobuf PHP extension (If you need to use gRPC Server of Client)

安装和使用

The easiest way to create a new Hyperf project is to use Composer. If you don't have it already installed, then please install as per the documentation.

To create your new Hyperf project:

$ composer create-project hyperf/hyperf-skeleton path/to/install

Once installed, you can run the server immediately using the command below.

$ cd path/to/install $ php bin/hyperf.php start

This will start the cli-server on port 9501, and bind it to all network interfaces. You can then visit the site at http://localhost:9501/

which will bring up Hyperf default home page.

代码层级说明

├── app					开发目录
│   ├── Amqp			        mq
│   ├── Dao				Dao层
│   ├── Exception			错误处理
│   ├── Listener			监听器
│   ├── Middleware			中间件
│   ├── Model				DB model
│   ├── Shared				service公共,各个模块共享,定义Model的cloumn
│   ├── System					
|   |   ├── Admin			模块 Admin
|   |   ├──├──  Controller	        Controller
|   |   ├──├──  Define		        定义请求层,类似java的vo
|   |   ├──├──  Request		        参数过滤层,处理参数过滤逻辑
|   |   ├──├──  Service		        Service层,先定义接口,类似java的分层
|   |   ├──├──├──  Impl		        Service层,实现
|   |   ├── IndexController.php         当前模块的入口,还有类似java的actuator,方便监控服务是否正常
│   └── Task				定时任务处理
├── bin
│   ├── hyperf.php
│   └── start.sh
├── composer.json
├── composer.lock
├── config
│   ├── autoload
│   ├── config.php
│   ├── constants.php
│   ├── container.php
│   ├── functions.php
│   └── routes.php
├── Dockerfile
├── phpstan.neon
├── phpunit.xml
├── README.md
├── runtime
│   ├── container
│   └── logs
├── storage
│   └── languages
├── test
│   ├── bootstrap.php
│   ├── Cases
│   └── HttpTestCase.php
├── vendor				第三方依赖
└── watch				开发环境,自动编译

使用案例

crud

config/routes.php

Router::addGroup('/category', function () {
    Router::addRoute(['POST'], '/add', 'App\System\Admin\Controller\CategoryController@add');
    Router::addRoute(['GET'], '/info', 'App\System\Admin\Controller\CategoryController@info');
    Router::addRoute(['PUT'], '/update', 'App\System\Admin\Controller\CategoryController@update');
});
PUT 10.4.7.88:9551/category/update
{
    "cat_id" : 26,
    "desc" : "this is desc"
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.