# \PG\MSFServer

Class Server

## Summary

Methods
Properties
Constants
setContext()
destroy()
__construct()
getTimerContext()
getInstance()
setConfig()
run()
setProcessTitle()
setServerSet()
beforeSwooleStart()
onStart()
onWorkerStart()
onClose()
onWorkerStop()
onTask()
onFinish()
onPipeMessage()
onWorkerError()
onManagerStart()
onManagerStop()
__call()
registerTimer()
displayErrorHandler()
checkErrors()
isTaskWorker()
close()
onErrorHandle()
$processType
$daemonize
$pidFile
$scheduler
$name
$user
$workerNum
$taskNum
$tickTime
$pack
$onErrorHandle
$server
$config
$log
$sysCache
$sysTimers
$MSFSrcDir
$objectPool
version
mode
init()
parseCommand()
initWorkers()
getCurrentUser()
displayUI()
startSwooles()
$reflections
$instance
$_masterPid
$logFile
$_startFile
$_worker
$route
$stdClass
N/A
No private methods found
No private properties found
N/A
abstract

File
  Server.php
Package
  PG\MSF
Class hierarchy
  \PG\MSF\Base\Child
  \PG\MSF\Server

## Tags

None found

## Constants

### version

    version

版本

#

## Tags

None found

### mode

    mode

运行方式（web/console）

#

## Tags

None found

## Properties

### $processType

    $processType : integer

#### Type

integer — 进程类型，worker,tasker,user

#

## Tags

None found

### $daemonize

    $daemonize : boolean

#### Type

boolean — Daemonize.

#

## Tags

None found

### $pidFile

    $pidFile : string

#### Type

string — pid文件

#

## Tags

None found

### $scheduler

    $scheduler : \PG\MSF\Coroutine\Scheduler

#### Type

\PG\MSF\Coroutine\Scheduler — 协程调度器

#

## Tags

None found

### $name

    $name : string

#### Type

string — server name

#

## Tags

None found

### $user

    $user : string

#### Type

string — server user

#

## Tags

None found

### $workerNum

    $workerNum : integer

#### Type

integer — Worker数量

#

## Tags

None found

### $taskNum

    $taskNum : integer

#### Type

integer — Tasker数量

#

## Tags

None found

### $tickTime

    $tickTime : integer

#### Type

integer — 服务器到现在的毫秒数

#

## Tags

None found

### $pack

    $pack : \PG\MSF\Pack\IPack

#### Type

\PG\MSF\Pack\IPack — 数据打包与解包

#

## Tags

None found

### $onErrorHandle

    $onErrorHandle : callback

#### Type

callback — 错误回调

#

## Tags

None found

### $server

    $server : \swoole_server

#### Type

\swoole_server — Server运行实例

#

## Tags

None found

### $config

    $config : \Noodlehaus\Config

#### Type

\Noodlehaus\Config — 配置对象

#

## Tags

None found

### $log

    $log : \PG\Log\PGLog

#### Type

\PG\Log\PGLog — 日志对象

#

## Tags

None found

### $sysCache

    $sysCache : \Yac

#### Type

\Yac — 系统共享对象操作句柄

#

## Tags

None found

### $sysTimers

    $sysTimers : array

系统注册的定时器列表

#### Type

array

#

## Tags

None found

### $MSFSrcDir

    $MSFSrcDir : string

#### Type

string — 框架目录

#

## Tags

None found

### $objectPool

    $objectPool : \PG\MSF\Base\Pool

#### Type

\PG\MSF\Base\Pool — 对象池

#

## Tags

None found

### $reflections

    $reflections : array

#### Type

array — 反射类属性的默认值

#

Inherited from
  \PG\MSF\Base\Child

## Tags

None found

### $instance

    $instance : \PG\MSF\Server

#### Type

\PG\MSF\Server — 实例

#

## Tags

None found

### $_masterPid

    $_masterPid : integer

#### Type

integer — Master进程ID

#

## Tags

None found

### $logFile

    $logFile : mixed

#### Type

mixed — 日志文件

#

## Tags

None found

### $_startFile

    $_startFile : string

#### Type

string — Start file.

#

## Tags

None found

### $_worker

    $_worker : \PG\MSF\Server

#### Type

\PG\MSF\Server — worker instance.

#

## Tags

None found

### $route

    $route : \PG\MSF\Route\IRoute|\PG\MSF\Route\NormalRoute

#### Type

\PG\MSF\Route\IRoute|\PG\MSF\Route\NormalRoute — 路由器

#

## Tags

None found

### $stdClass

    $stdClass : \stdClass|null

#### Type

\stdClass|null — 对象模板

#

## Tags

None found

## Methods

### setContext()

    setContext(\PG\MSF\Helpers\Context  $context) : $this

设置上下文

#### Parameters

\PG\MSF\Helpers\Context | $context | 请求上下文对象

#### Returns

$this

#

Inherited from
  \PG\MSF\Base\Child

## Tags

None found

### destroy()

    destroy()

销毁,解除引用

#

Inherited from
  \PG\MSF\Base\Child

## Tags

None found

### __construct()

    __construct()

Server constructor.

#### Throws

\Exception

#

## Tags

None found

### getTimerContext()

    getTimerContext() : NULL|\PG\MSF\Helpers\Context

创建用户自定义定时进程的上下文对象

#### Returns

NULL|\PG\MSF\Helpers\Context

#

## Tags

None found

### getInstance()

    getInstance() : \PG\MSF\Server|\PG\MSF\MSFServer

获取运行的Server实例

#### Returns

\PG\MSF\Server|\PG\MSF\MSFServer

#

static

## Tags

None found

### setConfig()

    setConfig() : mixed

配置初始化

#### Returns

mixed

#

## Tags

None found

### run()

    run() : void

运行所有的服务进程

#

static

## Tags

None found

### setProcessTitle()

    setProcessTitle(string  $title) : void

设置服务进程名称

#### Parameters

string | $title |

#

static

## Tags

None found

### setServerSet()

    setServerSet() : mixed

设置服务器配置参数

#### Returns

mixed

#

abstract

## Tags

None found

### beforeSwooleStart()

    beforeSwooleStart()

start前的操作

#

## Tags

None found

### onStart()

    onStart(  $serv)

Server启动在主进程的主线程回调此函数

#### Parameters

| $serv |

#

## Tags

None found

### onWorkerStart()

    onWorkerStart(\swoole_server  $serv, integer  $workerId)

worker进程/task进程启动回调

#### Parameters

\swoole_server | $serv | server实例
integer | $workerId | worker id

#

## Tags

None found

### onClose()

    onClose(  $serv,   $fd)

TCP客户端连接关闭后，在worker进程中回调此函数

#### Parameters

| $serv |
| $fd |

#

## Tags

None found

### onWorkerStop()

    onWorkerStop(  $serv,   $fd)

此事件在worker进程终止时发生

#### Parameters

| $serv |
| $fd |

#

## Tags

None found

### onTask()

    onTask(  $serv,   $taskId,   $fromId,   $data) : mixed

在task_worker进程内被调用

#### Parameters

| $serv |
| $taskId |
| $fromId |
| $data |

#### Returns

mixed

#

## Tags

None found

### onFinish()

    onFinish(  $serv,   $taskId,   $data)

当worker进程投递的任务在task_worker中完成时调用

#### Parameters

| $serv |
| $taskId |
| $data |

#

## Tags

None found

### onPipeMessage()

    onPipeMessage(  $serv,   $fromWorkerId,   $message)

当工作进程收到由sendMessage发送的管道消息时会触发onPipeMessage事件

#### Parameters

| $serv |
| $fromWorkerId |
| $message |

#

## Tags

None found

### onWorkerError()

    onWorkerError(\swoole_server  $serv, integer  $workerId, integer  $workerPid, integer  $exitCode)

当worker/task_worker进程发生异常后会在Manager进程内回调此函数。

#### Parameters

\swoole_server | $serv | server实例
integer | $workerId | worker id
integer | $workerPid | worker pid
integer | $exitCode | 退出状态码

#

## Tags

None found

### onManagerStart()

    onManagerStart(  $serv)

当管理进程启动时调用

#### Parameters

| $serv |

#

## Tags

None found

### onManagerStop()

    onManagerStop(  $serv)

当管理进程结束时调

#### Parameters

| $serv |

#

## Tags

None found

### __call()

    __call(  $name,   $arguments) : mixed

__call魔术方法

#### Parameters

| $name |
| $arguments |

#### Returns

mixed

#

## Tags

None found

### registerTimer()

    registerTimer(integer  $ms, callable  $callBack, array  $params = array())

定时器包装（用于业务Timer进程）

#### Parameters

integer | $ms | 定时器间隔毫秒
callable | $callBack | 定时器执行的回调
array | $params | 定时器其他参数

#

## Tags

None found

### displayErrorHandler()

    displayErrorHandler(integer  $error, string  $errorString, string  $filename, integer  $line, array  $symbols)

全局错误监听

#### Parameters

integer | $error | 错误码
string | $errorString | 错误描述
string | $filename | 文件名
integer | $line | 文件行
array | $symbols | 符号表

#

## Tags

None found

### checkErrors()

    checkErrors() : void

致命错误回调

#

## Tags

None found

### isTaskWorker()

    isTaskWorker() : boolean

是否是task进程

#### Returns

boolean

#

## Tags

None found

### close()

    close(integer  $fd)

服务器主动关闭链接

#### Parameters

integer | $fd |

#

## Tags

None found

### onErrorHandle()

    onErrorHandle(  $msg,   $log)

错误处理函数

#### Parameters

| $msg |
| $log |

#

## Tags

None found

### init()

    init() : void

服务初始化

#

static

## Tags

None found

### parseCommand()

    parseCommand() : void

解析命令行参数

#

static

## Tags

None found

### initWorkers()

    initWorkers() : void

初始化worker进程

#

static

## Tags

None found

### getCurrentUser()

    getCurrentUser() : string

获取当前进程用户

#### Returns

string

#

static

## Tags

None found

### displayUI()

    displayUI() : void

显示命令行控制台信息

#

static

## Tags

None found

### startSwooles()

    startSwooles() : void

Fork some worker processes.

#

static

## Tags

None found

### Server.php