# Zhamao Framework: src/Globals/global_functions.php 文件参考

global_functions.php 文件参考

## 函数

if(function_exists('zm_internal_errcode')) | zm_dir (string $dir)
| zm_exec (string $cmd)
| zm_sleep (float|int $time)
| coroutine ()
| zm_internal_errcode (int|string $code)
| zm_instance_id ()
| logger ()
| is_assoc_array (array $array)
| segment (string $type, array $data=[])
| middleware ()
| container ()
| resolve (string $abstract, array $parameters=[])
| app (string $abstract=null, array $parameters=[])
| db (string $name='')
| sql_builder (string $name='')
| config (array|string $key=null, mixed $default=null)

## 函数说明

## app()

app | ( | string | $abstract = `null`,
|  | array | $parameters = `[]`
| ) |  |

获取容器实例

@template T

参数

  null|class-string<T> | $abstract

返回
  Closure|ContainerInterface|mixed|T

函数调用图:

## config()

config | ( | array|string | $key = `null`,
|  | mixed | $default = `null`
| ) |  |

获取 / 设置配置项

传入键名和（或）默认值，获取配置项 传入数组，设置配置项 不传参数，返回配置容器

参数

  null | array | string | $key | 键名
  null | mixed | $default | 默认值

返回
  mixed|void|ZMConfig

## container()

container | ( |  | ) |

获取容器（请求级）实例

## coroutine()

coroutine | ( |  | ) |

获取协程接口

## db()

db | ( | string | $name = `''` | ) |

获取 MySQL 调用的类

异常

  DBException |

## is_assoc_array()

is_assoc_array | ( | array | $array | ) |

判断传入的数组是否为关联数组

## logger()

logger | ( |  | ) |

助手方法，返回一个 Logger 实例

## middleware()

middleware | ( |  | ) |

中间件操作类的助手函数

## resolve()

resolve | ( | string | $abstract,
|  | array | $parameters = `[]`
| ) |  |

解析类实例（使用容器）

@template T

参数

  class-string<T> | $abstract

返回
  Closure|mixed|T @noinspection PhpDocMissingThrowsInspection

## segment()

segment | ( | string | $type,
|  | array | $data = `[]`
| ) |  |

构建消息段的助手函数

参数

  string | $type | 类型
  array | $data | 字段

## sql_builder()

sql_builder | ( | string | $name = `''` | ) |

获取构建 MySQL 的类

异常

  DBException |

## zm_dir()

if (function_exists( 'zm_internal_errcode')) zm_dir | ( | string | $dir | ) |

根据具体操作系统替换目录分隔符

参数

  string | $dir | 目录

## zm_exec()

zm_exec | ( | string | $cmd | ) |

执行shell指令

参数

  string | $cmd | 命令行

## zm_instance_id()

zm_instance_id | ( |  | ) |

返回当前炸毛实例的 ID

## zm_internal_errcode()

zm_internal_errcode | ( | int|string | $code | ) |

获取内部错误码

## zm_sleep()

zm_sleep | ( | float|int | $time | ) |

sleep 指定时间，单位为秒（最小单位为1毫秒，即0.001）