## 模块介绍
#### 模块根目录:/html
- 可通过 env中的 TPHP_PATH=html 配置其他路径
- 所有的代码都在这里实现
- 创建目录就是对应的URL地址
- 不限制目录创建层数
- 完全根据自己的喜好设计目录
#### 模块系统共享目录:/html/sys
- 这个目录为系统目录,如果未找到以下目录,则对应于 /vendor/tphp/apcu/html/sys 目录中
- /html/sys/db:字段同步目录(后台)
- /html/sys/import:导入库
- /html/sys/page:分页模板
- /html/sys/public:公共目录
- /html/sys/public/init:默认后台处理目录
- /html/sys/public/layout:公共布局
- /html/sys/public/sys:公共后台菜单,即系统设置
## 模块运行顺序
1. 数据配置:data.php
2. 初始化:_init.php
3. 数据配置:ini.php
4. 数据重设:set.php
5. HTML:tpl.blade.php
6. JS和CSS合并:tpl.js tpl.css tpl.scss
每个模块可独立创建
## 简单代码示例
设置文件/html/www/demo/test/module/data.php内容如下
~~~
<?php
echo "<div>此处运行的是data.php</div>";
return [
'type' => 'sql',
'config' => [
'table' => 'area',
'field' => [
'id',
'title'
],
'limit' => 2
],
];
~~~
设置文件/html/www/demo/test/module/_init.php内容如下
~~~
<?php
return function (){
echo "<div>此处运行的是_init.php,并可以获取data.php文件的配置,效果如下:</div>";
dump($this->config);
};
~~~
设置文件/html/www/demo/test/module/ini.php内容如下
~~~
<?php
echo "<div>此处运行的是ini.php, 处理执行查询后的数据。</div>";
return [
'#SQL' => [
'title' => [
['set', '_[]_:_[id]_']
],
'newstr' => [
['set', 'ID: _[id]_ title: _[title]_'],
['str_add_right', ' * ok *']
]
]
];
~~~
设置文件/html/www/demo/test/module/set.php内容如下
~~~
<?php
return function ($data){
echo "<div>此处运行的是set.php, 可进一步处理结果数据。</div>";
dump($data);
foreach ($data as $key=>$val){
$data[$key]['set_new'] = "我是通过set.php文件设置的。";
}
return $data;
};
~~~
设置文件/html/www/demo/test/module/tpl.blade.php内容如下
~~~
<div>此处运行的是tpl.blade.php, 获取了最终的数据结果</div>
{!! dump($_) && "" !!}
<div><input type="button" value="JS测试" id="test"/></div>
~~~
设置文件/html/www/demo/test/module/tpl.js内容如下
~~~
$(function () {
$("#test").click(function () {
alert("Hello Tphp !");
});
});
~~~
设置文件/html/www/demo/test/module/tpl.css内容如下
~~~
body{
background-color: #FCC;
}
~~~
设置文件/html/www/demo/test/module/tpl.scss内容如下
~~~
body{
input{
color: #080;
}
}
~~~
打开网址[http://demo.tphp.com/test/module](http://demo.tphp.com/test/module)获得如下效果
