## 模块介绍
#### 模块根目录:/html
- 可通过 env中的 TPHP_PATH=html 配置其他路径
- 所有的代码都在这里实现
- 创建目录就是对应的URL地址
- 不限制目录创建层数
- 完全根据自己的喜好设计目录
#### 模块开发目录:/html
- 这个目录为开发目录,如果未找到以下目录,则对应于 /vendor/tphp/tphp/html 目录中
- /html/function:公共函数
- /html/import:公共导入库
- /html/layout:公共布局
- /html/page:公共分页模板
- /html/plugins:插件目录
## 模块运行顺序
1. 数据配置:data.php
2. 初始化:_init.php
3. 数据配置:ini.php
4. 原数据重设:src.php, 和set.php用法一样,数据是未经过处理的,执行优先于set.php
4. 数据重设:set.php
5. 扩展页面:method.php
6. HTML:tpl.blade.php
7. 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/src.php内容如下
```
<?php
return function ($data){
echo "<div>此处运行的是src.php, 可进一步处理结果数据。</div>";
dump($data);
foreach ($data as $key=>$val){
$data[$key]['src_new'] = "我是通过src.php文件设置的。";
}
return $data;
};
```
设置文件/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.css内容如下
```
body{
background-color: #FCC;
}
```
设置文件/html/www/demo/test/module/tpl.scss内容如下
```
body{
input{
color: #080;
}
}
```
设置文件/html/www/demo/test/module/tpl.js内容如下
```
$(function () {
$("#test").click(function () {
alert("Hello TPHP !");
});
});
```
打开网址[http://demo.tphp.com/test/module](http://demo.tphp.com/test/module)获得如下效果
设置文件/html/www/demo/test/module/method.php内容如下
```
<?php
return new class{
public function test()
{
dump('测试扩展页面Test');
}
};
```
设置文件/html/www/demo/test/module/test.css内容如下
```
body{
background-color: #CFF;
}
```
设置文件/html/www/demo/test/module/test.blade.php内容如下
```
<div>页面来自 test.blade.php 文件</div>
```
打开网址[http://demo.tphp.com/test/module.test](http://demo.tphp.com/test/module.test)获得如下效果