欢迎来到站长教程网!

PHP教程

当前位置:主页 > 网络编程 > PHP教程 >

EasySwoole 基础入门

时间:2020-05-23|栏目:PHP教程|点击:

EasySwoole 基础入门

使用 Composer 安装

composer require easyswoole/easyswoole=3.x php vendor/bin/easyswoole install

启动框架

php easyswoole start

nginx转发

server { root /data/wwwroot/; server_name local.easyswoole.com; location / { proxy_http_version 1.1; proxy_set_header Connection "keep-alive"; proxy_set_header X-Real-IP $remote_addr; if (!-e $request_filename) { proxy_pass :9501; } if (!-f $request_filename) { proxy_pass :9501; } } }

proxy_set_header X-Real-IP $remote_addr; 获取真实IP地址

运行你的hellword

project 项目部署目录 ---------------------------------- ├─App 应用目录 │ └─HttpController 应用的控制器目录 │ └─Index.php 默认控制器文件 ----------------------------------

Index.php

<?php namespace App\HttpController; use EasySwoole\Http\AbstractInterface\Controller; class Index extends Controller { function index() { // TODO: Implement index() method. $this->response()->write('hello world'); } }

编辑根目录下的 composer.json 文件,注册应用的命名空间

{ "autoload": { "psr-4": { "App\\": "App/" } }, "require": { "easyswoole/easyswoole": "3.x-dev" } }

意思就是设置自动加载

最后执行composer dumpautoload 命令更新命名空间,可以开始编写业务逻辑

# 更新命名空间映射 composer dumpautoload # 启动框架 php easyswoole start 目录结构 project 项目部署目录 ├─App 应用目录(可以有多个) │ ├─HttpController 控制器目录 │ │ └─Index.php 默认控制器 │ └─Model 模型文件目录 ├─Log 日志文件目录 ├─Temp 临时文件目录 ├─vendor 第三方类库目录 ├─composer.json Composer架构 ├─composer.lock Composer锁定 ├─EasySwooleEvent.php 框架全局事件 ├─easyswoole 框架管理脚本 ├─easyswoole.install 框架安装锁定文件 ├─dev.php 开发配置文件 ├─produce.php 生产配置文件

生命周期,也就是流程

10865887-bd0a50f622948627.png

配置文件说明

<?php /** * Created by PhpStorm. * User: yf * Date: 2019-01-01 * Time: 20:06 */ return [ 'SERVER_NAME' => "EasySwoole",//服务名 'MAIN_SERVER' => [ 'LISTEN_ADDRESS' => '0.0.0.0',//监听地址 'PORT' => 9501,//监听端口 'SERVER_TYPE' => EASYSWOOLE_WEB_SERVER, //可选为 EASYSWOOLE_SERVER EASYSWOOLE_WEB_SERVER EASYSWOOLE_WEB_SOCKET_SERVER 'SOCK_TYPE' => SWOOLE_TCP,//该配置项当为SERVER_TYPE值为TYPE_SERVER时有效 'RUN_MODEL' => SWOOLE_PROCESS,// 默认Server的运行模式 'SETTING' => [// Swoole Server的运行配置( 完整配置可见[Swoole文档](https://wiki.swoole.com/wiki/page/274.html) ) 'worker_num' => 8,//运行的 worker进程数量 'max_request' => 5000,// worker 完成该数量的请求后将退出,防止内存溢出 'task_worker_num' => 8,//运行的 task_worker 进程数量 'task_max_request' => 1000,// task_worker 完成该数量的请求后将退出,防止内存溢出 'reload_async' => true,//设置异步重启开关。设置为true时,将启用异步安全重启特性,Worker进程会等待异步事件完成后再退出。 'task_enable_coroutine' => true//开启后自动在onTask回调中创建协程 ] ], 'TEMP_DIR' => null,//临时文件存放的目录 'LOG_DIR' => null,//日志文件存放的目录 'CONSOLE' => [//console控制台组件配置 'ENABLE' => true,//是否开启 'LISTEN_ADDRESS' => '127.0.0.1',//监听地址 'PORT' => 9500,//监听端口 'USER' => 'root',//验权用户名 'PASSWORD' => '123456'//验权用户名 ], 'FAST_CACHE' => [//fastCache组件 'PROCESS_NUM' => 0,//进程数,大于0才开启 'BACKLOG' => 256,//数据队列缓冲区大小 ], 'DISPLAY_ERROR' => true,//是否开启错误显示 ];

配置操作类

EasySwoole\Config 类

toArray 方法获取全部配置,load 方法重载全部配置

如果设置了修改,需要更新配置的意思

<?php $instance = \EasySwoole\EasySwoole\Config::getInstance(); // 获取配置 按层级用点号分隔 $instance->getConf('MAIN_SERVER.SETTING.task_worker_num'); // 设置配置 按层级用点号分隔 $instance->setConf('DATABASE.host', 'localhost'); // 获取全部配置 $conf = $instance->getConf(); // 用一个数组覆盖当前配置项 $conf['DATABASE'] = [ 'host' => '127.0.0.1', 'port' => 13306 ]; $instance->load($conf);

上一篇:thinkphp 框架数据库切换实现方法分析

栏    目:PHP教程

下一篇:PHP中的面向对象之构造函数详解

本文标题:EasySwoole 基础入门

本文地址:http://www.blue1000.com/wangluobiancheng/PHPjiaocheng/1481.html

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:1961407250 | 邮箱:1961407250#qq.com(#换成@)

Copyright © 2002-2022 BK网络学院版权所有 Power by DedeCms 粤ICP备19027147号-7