配置文件
<pre><code><?php
return [
'VER'=>['1.0'],
'DEBUG' => [
'level' => 3,
'type' => 'json',
],
'ROUTER' => [
'mod' => 1,
'module' => false,
'restfull' => null,
],
'POWEREDBY'=>'',
'DEBUG_MSG'=>'json',
'HEADER_VER'=>'',
'SESSION'=>[
'name'=>'TOKEN',
'auto'=>false,
'httponly'=>true,
'redis'=>false,
'host'=>'',
'port'=>'',
'pass'=>''
],
'VIEW'=>[
'php_tag'=>'php',
'import_tag'=>'import',
'template_tag'=>'template',
'ext'=>'.html',
'path'=>'default',
'prefix'=>'<{',
'suffix'=>'}>',
'compress'=>false
],
'DB'=>[
'dsn'=>'mysql:host=127.0.0.1;dbname=zphp;port=3306',
'db'=>'zphp',
'user'=>'root',
'pass'=>'root',
'charset'=>'utf8',
'prefix'=>'z_',
'cache_mod'=>0,
],
'REDIS'=>[
'host'=>'',
'port'=>'',
'pass'=>'',
'database'=>0,
'timeout'=>0,
],
'MEMCACHED'=>[
['127.0.0.1','11211'],
['192.168.0.2','11211'],
// ...
],
];
</code></pre>
<h3><font color=red>注意</font></h3>
<p><strong>配置文件等会遵从 <font color=red>内层覆盖外层相同字段数据</font> 的规则
需要注意的是如果某字段的值是<font color=red>数组</font>,那么会<font color=red>覆盖</font>这个数组而不是合并这个数组,但是<font color=red>模块</font>下的配置文件则会合并这个数组内的相同字段数据而不是覆盖</strong></p>
<p><strong>由于加载顺序问题,模块目录下的配置文件部分字段<font color=red>可能不会生效</font>,例如:ROUTER 等字段</strong></p>
<h1>字段说明</h1>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
<th>可选值</th>
<th>默认值</th>
</tr>
</thead>
<tbody>
<tr>
<td>DEBUG</td>
<td>array</td>
<td>debug信息</td>
<td><strong>详情见下面说明</strong></td>
</tr>
<tr>
<td>ROUTER</td>
<td>array</td>
<td>路由设置</td>
<td><strong>详情见下面说明</strong></td>
</tr>
<tr>
<td>VER</td>
<td>array</td>
<td>版本号</td>
<td><strong>[0]</strong>默认版本号:没有请求版本号或找不到请求版本号对应目录的情况下使用此版本号<br><strong>[1]</strong>强制指定版本号:无视请求版本号,一律使用此版本号</td>
<td>['1.0']</td>
</tr>
<tr>
<td>POWEREDBY</td>
<td>string</td>
<td>浏览器Respones Headers 中的 X-Powered-By</td>
</tr>
<tr>
<td>DEBUG_MSG</td>
<td>string</td>
<td>debug信息的输出方式</td>
<td>html,json</td>
<td>json</td>
</tr>
<tr>
<td>HEADER_VER</td>
<td>string</td>
<td>请求头中的版本号字段名</td>
</tr>
<tr>
<td>SESSION</td>
<td>array</td>
<td>session配置</td>
<td><strong>详情见下面说明</strong></td>
</tr>
<tr>
<td>VIEW</td>
<td>array</td>
<td>视图模板相关配置</td>
<td><strong>详情见下面说明</strong></td>
</tr>
<tr>
<td>DB</td>
<td>array</td>
<td>数据库相关配置</td>
<td><strong>详情见下面说明</strong></td>
</tr>
<tr>
<td>REDIS</td>
<td>array</td>
<td>redis 服务配置</td>
</tr>
<tr>
<td>MEMCACHED</td>
<td>array</td>
<td>memcached 服务配置</td>
</tr>
</tbody>
</table>
<h3>DEBUG 字段配置说明</h3>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
<th>可选值</th>
<th>默认值</th>
</tr>
</thead>
<tbody>
<tr>
<td>level</td>
<td>int</td>
<td>debug级别:0:关闭,1:只显示运行信息,2:显示运行和错误信息,3:显示运行、错误、警告信息</td>
<td>0,1,2,3</td>
<td>3</td>
</tr>
<tr>
<td>log</td>
<td>int</td>
<td>日志级别:0:不记录,1:只记录错误,2:记录错误和警告</td>
<td>0,1,2</td>
<td>0</td>
</tr>
<tr>
<td>type</td>
<td>string</td>
<td>输出格式</td>
<td>auto, html,json</td>
<td>auto</td>
</tr>
</tbody>
</table>
<h3>ROUTER 字段配置说明</h3>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
<th>可选值</th>
<th>默认值</th>
</tr>
</thead>
<tbody>
<tr>
<td>mod</td>
<td>int</td>
<td>路由模式:0:queryString,1:pathInfo,2:路由</td>
<td>0,1,2</td>
<td>0</td>
</tr>
<tr>
<td>module</td>
<td>bool</td>
<td>是否启用模块</td>
<td>true,false</td>
<td>false</td>
</tr>
<tr>
<td>restfull</td>
<td>array</td>
<td>有此字段且不为null 则启用restfull模式</td>
<td>null 或 数组(详见关于 restfull 中的处理请求)</td>
<td>null</td>
</tr>
</tbody>
</table>
<h3>SESSION 字段配置说明</h3>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
<th>可选值</th>
<th>默认值</th>
</tr>
</thead>
<tbody>
<tr>
<td>name</td>
<td>string</td>
<td>session名</td>
</tr>
<tr>
<td>auto</td>
<td>bool</td>
<td>是否自动开启session</td>
<td>true,false</td>
<td>true</td>
</tr>
<tr>
<td>httponly</td>
<td>bool</td>
<td>是否使用httponly模式(只允许服务端修改cookie)</td>
<td>true,false</td>
<td>false</td>
</tr>
<tr>
<td>redis</td>
<td>bool</td>
<td>是否使用redis保存session</td>
<td>true,false</td>
<td>false</td>
</tr>
<tr>
<td>host</td>
<td>string</td>
<td>保存session的redis服务地址</td>
</tr>
<tr>
<td>port</td>
<td>int</td>
<td>保存session的redis服务端口</td>
</tr>
<tr>
<td>pass</td>
<td>string</td>
<td>保存session的redis服务密码</td>
</tr>
</tbody>
</table>
<h3>VIEW 字段配置说明</h3>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
<th>可选值</th>
<th>默认值</th>
</tr>
</thead>
<tbody>
<tr>
<td>php_tag</td>
<td>string</td>
<td>模板语言的标签名</td>
<td>php</td>
</tr>
<tr>
<td>import_tag</td>
<td>string</td>
<td>引用模板文件的标签名</td>
<td>import</td>
</tr>
<tr>
<td>template_tag</td>
<td>string</td>
<td>模板名称的标签名</td>
<td>template</td>
</tr>
<tr>
<td>ext</td>
<td>string</td>
<td>模板文件的后缀名</td>
<td>.html</td>
</tr>
<tr>
<td>path</td>
<td>string</td>
<td>模板样式目录名</td>
<td>default</td>
</tr>
<tr>
<td>prefix</td>
<td>string</td>
<td>变量解析标签(前)</td>
<td><{</td>
</tr>
<tr>
<td>suffix</td>
<td>string</td>
<td>变量解析标签(后)</td>
<td>}></td>
</tr>
<tr>
<td>compress</td>
<td>bool</td>
<td>是否压缩生成的编译文件</td>
<td>0,1,2 <br>详见视图模板</td>
<td>0</td>
</tr>
</tbody>
</table>
<h3>DB 字段配置说明</h3>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>dsn</td>
<td>string</td>
<td>连接数据库的dsn</td>
</tr>
<tr>
<td>db</td>
<td>string</td>
<td>数据库名,<font color=red>此处必须指定和dsn当中相同的数据库名,如果是Oracle或SQLite等数据库,可以随便指定一个别名</font></td>
</tr>
<tr>
<td>user</td>
<td>string</td>
<td>数据库用户名</td>
</tr>
<tr>
<td>pass</td>
<td>string</td>
<td>数据库密码</td>
</tr>
<tr>
<td>charset</td>
<td>string</td>
<td>数据库连接字符集</td>
</tr>
<tr>
<td>prefix</td>
<td>string</td>
<td>数据表名前缀</td>
</tr>
<tr>
<td>cache_mod</td>
<td>int</td>
<td>缓存模式:1:redis, 2:memcached, 默认:0:文件</td>
</tr>
</tbody>
</table>