zhamao-framework/doxy/class_z_m_1_1_framework.html
2024-09-19 08:29:13 +00:00

546 lines
24 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.5"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Zhamao Framework: Framework类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Zhamao Framework<span id="projectnumber">&#160;3.2.4</span>
</div>
<div id="projectbrief">A high-performance chatbot + web framework</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.5 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','搜索');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('class_z_m_1_1_framework.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">载入中...</div>
<div class="SRStatus" id="Searching">搜索中...</div>
<div class="SRStatus" id="NoMatches">未找到</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-attribs">成员变量</a> &#124;
<a href="#pro-attribs">Protected 属性</a> </div>
<div class="headertitle"><div class="title">Framework类 参考</div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Framework 的协作图:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_z_m_1_1_framework__coll__graph.svg" width="291" height="124"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">图例</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a095c5d389db211932136b53f25f39685"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#a095c5d389db211932136b53f25f39685">__construct</a> ()</td></tr>
<tr class="separator:a095c5d389db211932136b53f25f39685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93dfa894767cb7aa24ac51e799f53e9a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#a93dfa894767cb7aa24ac51e799f53e9a">init</a> (array $argv=[])</td></tr>
<tr class="separator:a93dfa894767cb7aa24ac51e799f53e9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8fa59992209e36dccb3eefb0f75531f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#af8fa59992209e36dccb3eefb0f75531f">start</a> ()</td></tr>
<tr class="separator:af8fa59992209e36dccb3eefb0f75531f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcbc7635bf33718d81e1e5bca95d85fe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#afcbc7635bf33718d81e1e5bca95d85fe">stop</a> (int $retcode=0)</td></tr>
<tr class="separator:afcbc7635bf33718d81e1e5bca95d85fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b2a44f6ec87a111c1bc3cc911cd15f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#a7b2a44f6ec87a111c1bc3cc911cd15f5">reload</a> ()</td></tr>
<tr class="separator:a7b2a44f6ec87a111c1bc3cc911cd15f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21d14438a521a95f023ca17c3fbea220"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#a21d14438a521a95f023ca17c3fbea220">getArgv</a> ()</td></tr>
<tr class="separator:a21d14438a521a95f023ca17c3fbea220"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac88d3a4c3a1bf357eda28403a4704995"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#ac88d3a4c3a1bf357eda28403a4704995">getDriver</a> ()</td></tr>
<tr class="separator:ac88d3a4c3a1bf357eda28403a4704995"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8f8f8fa3f35aac8f365d9ee4c4c943f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#ae8f8f8fa3f35aac8f365d9ee4c4c943f">initDriver</a> ()</td></tr>
<tr class="separator:ae8f8f8fa3f35aac8f365d9ee4c4c943f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a599197d9778f3823307cd6877958f163"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#a599197d9778f3823307cd6877958f163">initFramework</a> ()</td></tr>
<tr class="separator:a599197d9778f3823307cd6877958f163"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac290f354b41b21c175f7cfe6d3401558"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#ac290f354b41b21c175f7cfe6d3401558">bootstrap</a> (?string $bootstrapper=null)</td></tr>
<tr class="separator:ac290f354b41b21c175f7cfe6d3401558"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
成员变量</h2></td></tr>
<tr class="memitem:a835ac83b0f0a2c196532f370dc585aa0"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#a835ac83b0f0a2c196532f370dc585aa0">VERSION_ID</a> = 723</td></tr>
<tr class="separator:a835ac83b0f0a2c196532f370dc585aa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af71005841ce53adac00581ab0ba24c1f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#af71005841ce53adac00581ab0ba24c1f">VERSION</a> = '3.2.4'</td></tr>
<tr class="separator:af71005841ce53adac00581ab0ba24c1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61669b98ed51b377756daaf2b82aafd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_z_m_1_1_config_1_1_runtime_preferences.html">RuntimePreferences</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#a61669b98ed51b377756daaf2b82aafd2">$runtime_preferences</a></td></tr>
<tr class="separator:a61669b98ed51b377756daaf2b82aafd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected 属性</h2></td></tr>
<tr class="memitem:ad9a8952bc741b5305f6af9f1881519de"><td class="memItemLeft" align="right" valign="top">array&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#ad9a8952bc741b5305f6af9f1881519de">$argv</a></td></tr>
<tr class="separator:ad9a8952bc741b5305f6af9f1881519de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3706474b9c8fe145309ffb946348f306"><td class="memItemLeft" align="right" valign="top">SwooleDriver Driver WorkermanDriver null&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#a3706474b9c8fe145309ffb946348f306">$driver</a> = null</td></tr>
<tr class="separator:a3706474b9c8fe145309ffb946348f306"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ba8a77cc9dfe7ba4232c32cabf2f84b"><td class="memItemLeft" align="right" valign="top">array&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#a6ba8a77cc9dfe7ba4232c32cabf2f84b">$setup_annotations</a> = []</td></tr>
<tr class="separator:a6ba8a77cc9dfe7ba4232c32cabf2f84b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a204c8c9af4afd3a0254d46aaf263e1b1"><td class="memItemLeft" align="right" valign="top">array&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_z_m_1_1_framework.html#a204c8c9af4afd3a0254d46aaf263e1b1">$bootstrappers</a></td></tr>
<tr class="separator:a204c8c9af4afd3a0254d46aaf263e1b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p >框架入口类 </p><dl class="section since"><dt>自从</dt><dd>3.0</dd></dl>
<p>@method static <a class="el" href="class_z_m_1_1_framework.html">Framework</a> getInstance() </p>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="a095c5d389db211932136b53f25f39685" name="a095c5d389db211932136b53f25f39685"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a095c5d389db211932136b53f25f39685">&#9670;&#160;</a></span>__construct()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">__construct </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >框架初始化文件 </p><dl class="exception"><dt>异常</dt><dd>
<table class="exception">
<tr><td class="paramname"></td><td></td></tr>
</table>
</dd>
</dl>
<p><a class="el" href="namespace_z_m_1_1_exception.html">Exception</a> </p>
</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="ac290f354b41b21c175f7cfe6d3401558" name="ac290f354b41b21c175f7cfe6d3401558"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac290f354b41b21c175f7cfe6d3401558">&#9670;&#160;</a></span>bootstrap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bootstrap </td>
<td>(</td>
<td class="paramtype">?string&#160;</td>
<td class="paramname"><em>$bootstrapper</em> = <code>null</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >执行初始化的函数列表</p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramtype">null&#160;|&#160;string</td><td class="paramname">$bootstrapper</td><td>要运行的 bootstrapper </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a21d14438a521a95f023ca17c3fbea220" name="a21d14438a521a95f023ca17c3fbea220"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21d14438a521a95f023ca17c3fbea220">&#9670;&#160;</a></span>getArgv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">getArgv </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >获取传入的参数 </p>
</div>
</div>
<a id="ac88d3a4c3a1bf357eda28403a4704995" name="ac88d3a4c3a1bf357eda28403a4704995"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac88d3a4c3a1bf357eda28403a4704995">&#9670;&#160;</a></span>getDriver()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">getDriver </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >获取驱动 </p>
</div>
</div>
<a id="a93dfa894767cb7aa24ac51e799f53e9a" name="a93dfa894767cb7aa24ac51e799f53e9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93dfa894767cb7aa24ac51e799f53e9a">&#9670;&#160;</a></span>init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">init </td>
<td>(</td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$argv</em> = <code>[]</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >初始化框架</p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">array&lt;string,null|bool|string&gt;</td><td>$argv 传入的参数(见 ServerStartCommand</td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>异常</dt><dd>
<table class="exception">
<tr><td class="paramname"></td><td></td></tr>
</table>
</dd>
</dl>
<p><a class="el" href="namespace_z_m_1_1_exception.html">Exception</a> </p>
</div>
</div>
<a id="ae8f8f8fa3f35aac8f365d9ee4c4c943f" name="ae8f8f8fa3f35aac8f365d9ee4c4c943f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8f8f8fa3f35aac8f365d9ee4c4c943f">&#9670;&#160;</a></span>initDriver()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">initDriver </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >初始化驱动及相关事件 实例化 Driver 对象</p>
<dl class="exception"><dt>异常</dt><dd>
<table class="exception">
<tr><td class="paramname"></td><td></td></tr>
</table>
</dd>
</dl>
<p><a class="el" href="namespace_z_m_1_1_exception.html">Exception</a> </p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_z_m_1_1_framework_ae8f8f8fa3f35aac8f365d9ee4c4c943f_cgraph.svg" width="271" height="135"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a599197d9778f3823307cd6877958f163" name="a599197d9778f3823307cd6877958f163"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a599197d9778f3823307cd6877958f163">&#9670;&#160;</a></span>initFramework()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">initFramework </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >初始化框架并输出一些信息</p>
<p >绑定、注册框架本身的事件到 Driver 的 EventProvider 中 </p>
</div>
</div>
<a id="a7b2a44f6ec87a111c1bc3cc911cd15f5" name="a7b2a44f6ec87a111c1bc3cc911cd15f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b2a44f6ec87a111c1bc3cc911cd15f5">&#9670;&#160;</a></span>reload()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">reload </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >重载框架的 worker 进程,重新加载模块及代码</p>
<p >此方法仅限于 Unix 环境下的多进程模式(即存在 Worker 进程的模式使用Windows 环境、单进程模式使用无效</p>
<p >未测试,需要对单进程等特殊情况做判断,因为单进程等模式无法重启 </p>
</div>
</div>
<a id="af8fa59992209e36dccb3eefb0f75531f" name="af8fa59992209e36dccb3eefb0f75531f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8fa59992209e36dccb3eefb0f75531f">&#9670;&#160;</a></span>start()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">start </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >启动框架 </p>
</div>
</div>
<a id="afcbc7635bf33718d81e1e5bca95d85fe" name="afcbc7635bf33718d81e1e5bca95d85fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcbc7635bf33718d81e1e5bca95d85fe">&#9670;&#160;</a></span>stop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">stop </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>$retcode</em> = <code>0</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >停止框架运行</p>
<p >未测试 </p><dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramtype">int</td><td class="paramname">$retcode</td><td>退出码 </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>异常</dt><dd>
<table class="exception">
<tr><td class="paramname">ZMKnownException</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">结构体成员变量说明</h2>
<a id="ad9a8952bc741b5305f6af9f1881519de" name="ad9a8952bc741b5305f6af9f1881519de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9a8952bc741b5305f6af9f1881519de">&#9670;&#160;</a></span>$argv</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">array $argv</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a204c8c9af4afd3a0254d46aaf263e1b1" name="a204c8c9af4afd3a0254d46aaf263e1b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a204c8c9af4afd3a0254d46aaf263e1b1">&#9670;&#160;</a></span>$bootstrappers</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">array $bootstrappers</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<b>初始值:</b><div class="fragment"><div class="line">= [</div>
<div class="line"> Bootstrap\LoadConfiguration::class, </div>
<div class="line"> Bootstrap\LoadGlobalDefines::class, </div>
<div class="line"> Bootstrap\RegisterLogger::class, </div>
<div class="line"> Bootstrap\HandleExceptions::class, </div>
<div class="line"> Bootstrap\RegisterEventProvider::class, </div>
<div class="line"> Bootstrap\SetInternalTimezone::class, </div>
<div class="line"> ]</div>
</div><!-- fragment -->
</div>
</div>
<a id="a3706474b9c8fe145309ffb946348f306" name="a3706474b9c8fe145309ffb946348f306"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3706474b9c8fe145309ffb946348f306">&#9670;&#160;</a></span>$driver</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SwooleDriver Driver WorkermanDriver null $driver = null</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a61669b98ed51b377756daaf2b82aafd2" name="a61669b98ed51b377756daaf2b82aafd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61669b98ed51b377756daaf2b82aafd2">&#9670;&#160;</a></span>$runtime_preferences</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_z_m_1_1_config_1_1_runtime_preferences.html">RuntimePreferences</a> $runtime_preferences</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6ba8a77cc9dfe7ba4232c32cabf2f84b" name="a6ba8a77cc9dfe7ba4232c32cabf2f84b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ba8a77cc9dfe7ba4232c32cabf2f84b">&#9670;&#160;</a></span>$setup_annotations</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">array $setup_annotations = []</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af71005841ce53adac00581ab0ba24c1f" name="af71005841ce53adac00581ab0ba24c1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af71005841ce53adac00581ab0ba24c1f">&#9670;&#160;</a></span>VERSION</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const VERSION = '3.2.4'</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a835ac83b0f0a2c196532f370dc585aa0" name="a835ac83b0f0a2c196532f370dc585aa0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a835ac83b0f0a2c196532f370dc585aa0">&#9670;&#160;</a></span>VERSION_ID</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const VERSION_ID = 723</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>src/ZM/<a class="el" href="_framework_8php.html">Framework.php</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespace_z_m.html">ZM</a></li><li class="navelem"><a class="el" href="class_z_m_1_1_framework.html">Framework</a></li>
<li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
</ul>
</div>
</body>
</html>