----------------------------------------------------------------------------------------
1 配置php.exe 环境变量,应用 命令 php think build自动生成文件
build.php 应该在application目录下 大体内容如下
return [
// 生成应用公共文件
'__file__' => ['common.php', 'config.php', 'database.php'],
// 定义demo模块的自动生成 (按照实际定义的文件名生成)
// 'demo' => [
// '__file__' => ['common.php'],
// '__dir__' => ['behavior', 'controller', 'model', 'view'],
// 'controller' => ['Index', 'Test', 'UserType'],
// 'model' => ['User', 'UserType'],
// 'view' => ['index/index'],
// ],
// 其他更多的模块定义
'common' => [
'__dir__' => ['model'],
'model' => ['Category','Admin']
],
'admin' => [
'__dir__' => ['controller','view'],
'controller' => ['Index'],
'view' => ['index/index'],
],
'api' => [
'__dir__' => ['controller','view'],
'controller' => ['Image']
],
'bis' => [
'__dir__' => ['controller','view'],
'controller' => ['Register','Login']
],
];
其中 admin 为模块名称 file为 admin文件夹下的文件。dir 为admin 目录下的 文件夹
然后,再分别生成每个文件夹下的内容 model validate view
----------------------------------------------------------------------------------------
2 前后台模板文件引入
index.php 文件中 定义相关变量
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
//定义网站根目录
define('WEB_URL', 'http://my.mook.com/');
//定义文件上传网络,本地目录
define('WEB_UPLOADS',WEB_URL.'static/uploads/');
define('LOCAL_UPLOADS',__DIR__.'/static/uploads/');
//定义前台资源文件根路径
define('WEB_HOME_STYLE',WEB_URL.'static/home/');
//定义后台资源文件根路径
define('WEB_ADMIN_STYLE',WEB_URL.'static/admin/');
//定义工具类资源路径
define('TOOL',WEB_URL.'static/tool/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
模块下 建立config.php 模板替换文件
<?php
return [
'view_replace_str' => [
"__ADMINCSS__" => WEB_ADMIN_STYLE.'style/',
"__ADMINIMG__" => WEB_ADMIN_STYLE.'images/',
"__ADMINFONTS__" => WEB_ADMIN_STYLE.'fonts/',
"__UPLOADS__" => WEB_UPLOADS,
],
];
分离首位即可
还可以用tp5 的引入方式 {load href="__ADMINCSS__my.css"}
------------------------------------------------------------------------------------------
3 架构 采用 所有的 model 对应到数据库中的表 放到一个 common模块中 然后别的模块的 controller 调用 model 完成逻辑的思路
--------------------------------------------------------------------------------------------
4 校验
写规则
进行校验
推荐方式
----------------------------------------------------------------------------------
5 百度地图相关逻辑封装
在 根目录的 extend目录下 新建一个文件 map.php
相关配置 保存 到 application 下的extra文件下 然后 map.php 类中 采用
方式调用
下面是配置相关内容
map.php类的具体实现
其中的 doCurl() 方法是 写在common.php文件中
然后 方法中 直接使用
进行调用
----------------------------------------------------------------------------------------
6 php mailer 邮件发送 封装 方法如上
----------------------------------------------------------------------------------------
7 strtime strtotime
----------------------------------------------------------------------------------------
异常处理
<?php
header("content-type:text/html;charset=utf-8");
class Goods {
public function getPrice() {
$price = $_GET['p'];
if($price < 0) {
// 实例化一个异常对象
$e = new Exception($message = '价格不能为负值!');
throw $e; // 抛出异常对象
}else {
echo $price;
}
}
}
try{ // 对代码进行监听
$book = new Goods;
$book->getPrice();
}catch(Exception $e) { // 捕获异常
echo '错误的信息为:', $e->getmessage(), '<br />';
echo '错误的代码为:', $e->getCode(), '<br />';
echo '错误的脚本为:', $e->getFile(), '<br />';
echo '错误的行号为:', $e->getLine(), '<br />';
}
----------------------------------------------------------------------------------------
判断 paginate 数据是否为空 为空则显示 无数据
{if condition="empty($auders->toArray()['data'])"}<tr><td align="center" colspan="7">暂无相关数据!</td></tr>{/if}
------------------------------------------------------------------------------------------
ajax请求
--------------------------------------------------------------------------------------------
使用。表单提交过来的数据
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------