dreamcat/framework_swoole

喵框架核心支持swoole的版本

v0.1.1 2019-12-04 09:08 UTC

This package is auto-updated.

Last update: 2024-04-13 12:38:08 UTC


README

介绍

喵框架核心支持swoole的版本

安装教程

composer require dreamcat/framework_swoole

使用说明

使用如下代码即可。切忌,为了避免一些不必要的重启,尽最大可能利用reload,一定不要在 start 之前引入 autoload.php。

<?php
use DreamCat\FrameSwoole\SwooleEntrance;

require_once "src/main/SwooleEntrance.php";

SwooleEntrance::start();

基于上述代码中,除修改下述文件外均无需重启服务:

  • 入口文件
  • src/main/SwooleEntrance.php
  • configs/swoole.php
  • cache/configs/swoole.php

配置说明

swoole.php

为了尽量减少必须重启进程的必要,swoole 启动前引入的文件会最少化,所以启动前必须读取的配置就独立放在 configs/swoole.phpcache/configs/swoole.php 中。

  • host string 选填,默认值 127.0.0.1,用来指定监听的ip地址。 如 127.0.0.1,或者外网地址,或者 0.0.0.0 监听全部地址。
  • port int 选填,默认值 0,监听的端口。如果使用0则会随机使用一个可用端口号,并将端口号写入 cache/swoole.port 文件中。
  • name string 选填,默认值 cat_frame_swoole,进程名前缀。
  • configReader string 选填,默认值 DreamCat\FrameSwoole\Factory\Impl\SwooleConfigReader。配置读取器创建工厂类,必须实现接口 DreamCat\FrameSwoole\Factory\ConfigReaderFactory
  • containerFactory string 选填,默认值 DreamCat\FrameSwoole\Factory\Impl\SwooleContainerFactory。容器工厂的工厂类,必须实现接口 DreamCat\FrameSwoole\Factory\RegeditContainerFactoryFactory
  • settings array 选填,可填的字段和相应值参考 swoole 选项文档,执行时会直接将此字段传入 set 方法。 在不进行配置的情况下下述字段会设置为默认值:
    • reactor_num SWOOLE_CPU_NUM * 2
    • worker_num SWOOLE_CPU_NUM * 2
    • daemonize 1
    • log_file 项目根目录下的 cache/logs/swoole.log
    • log_level 4,即 _SWOOLE_LOGWARNING
    • pid_file 项目根目录下的 cache/swoole_server.pid

swooleModify.php

用来调整某些不适用于swoole的配置,会覆盖 config.php

todo

  1. 直接配置为bean的池子,而不用自己写工厂方法
  2. 加入自定义Worker进程类
  3. 加入自定义启动事件
  4. 加入task体系