
基本配置文件:application/config.php
数据库配置文件:application/database.php
return [ // 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => 'localhost',
// 数据库名
'database' => 'testdb',
// 用户名
'username' => 'root',
// 密码
'password' => '123456',
// 端口
'hostport' => '',
// 连接dsn
'dsn' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'hi_',
// 数据库调试模式
'debug' => true,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 数据集返回类型
'resultset_type' => 'array',
// 自动写入时间戳字段
'auto_timestamp' => false,
// 时间字段取出后的默认时间格式
'datetime_format' => 'Y-m-d H:i:s',
// 是否需要进行SQL性能分析
'sql_explain' => false,
];
文件引用:
namespace app\index\controller; use think\Controller; use think\Db; use think\Request; use think\Cookie; use app\index\model\Member; //当前模块下的model文件夹内
数据库添加/修改/删除
$db=db('user');
//添加数据
$data =['name'=>'张三', 'ip'=>$request->ip(), 'time' =>date('Y-m-d H:i:s')];
$db->insert($data);
//$userId =$db->insertGetId($data); //插入并直接返回ID,方法一
//$userId =$db->getLastInsID(); //插入后再获取ID,方法二
//修改数据
$data =['name'=>'李四','time'=>date('Y-m-d H:i:s')];
$db->where('id',$id)->update($data);
//删除数据
$db->delete($id); // 主键删除
//$db->delete([1,2,3]); // 主键删除
//$db->where('id',1)->delete(); // 条件删除
//$db->where('id','<',10)->delete(); // 条件删除
数据库查询
$db=db('user');
//获取单条数据
$rs=$db->field('id,name')->where('id', 2)->find();
$username=$rs['name']
//循环读取
$list=$db->field('id,name')->where('id', 2)->limit(8)->order('id','desc')->select();
foreach($list as $rs){
$result.=$rs->id.'-'.$rs->name;
}
//分页输出
$map['j_status'] = 1;
$query=array('query'=>array('sb'=>$sb,'ss'=>$ss),); //分页传递的参数
$list = $db->where($map)->order('id','desc')->paginate(10,false,$query);
$page = $list->render();
foreach($list as $rs){
$result.=$rs->id.'-'.$rs->name;
}
//模板输出
{volist name="list" id="rs" }
<li>{$rs.id}-{$rs.name}</li>
{/volist}
<div class="page">{$list->render()}</div>
解析模板输出
class Index extends Controller
{
public function index()
{
$OutData=array(
'id' => $id,
'name' => $name
);
$this->assign($OutData);
return $this->fetch();
//return $this->fetch('login/index'); //定位模板
// return $this->fetch('admin@user/add'); //跨模块模板
}
}
模板里调用公共模板
{include file="index/head" /}
{include file="index/footer" /}
{include file="../application/index/view/index/head.html" /}
函数调用
//公共函数写在common.php文件里,直接调用即可
is_email($email); //判断邮箱格式是否正确
//模板里调用
{$email|is_email}
//{:is_email($email)} //也可以这样输出
//IF语句模板里输出
{if condition="($name == 1) OR ($name > 100) "}
value1
{elseif condition="$name eq 2"/}
value2
{else /}
value3
{/if}
自定义类调用,自定义类要写在extend里,如路径:extend\index\abc.php,代码:
namespace index;
class Abc
{
public function xxx($str){
...................
return 'yes';
}
}
//调用
$f=new \index\Abc();
$rval=$f->xxx('yes');
获取数据
$id=input('id');
//其它
input('get.name');
input('post.name');
input('put.name');
input('request.id');
input('server.PHP_SELF');
input('session.user_id');
input('cookie.user_id');
//注意在富文本在线编辑时获取内容
$content=input('content','',NULL);
//过滤
Request::instance()->filter('htmlspecialchars');
Request::instance()->filter(['strip_tags','htmlspecialchars']);
Request::instance()->get('name','','htmlspecialchars'); // 获取get变量 并用htmlspecialchars函数过滤
Request::instance()->param('username','','strip_tags'); // 获取param变量 并用strip_tags函数过滤
Request::instance()->post('name','','org\Filter::safeHtml'); // 获取post变量 并用org\Filter类的safeHtml方法过滤
Request::instance()->param('username','','strip_tags,strtolower'); // 获取param变量 并依次调用strip_tags、strtolower函数过滤
Request::instance()->post('email','',FILTER_VALIDATE_EMAIL);
input('get.id/d');
input('post.name/s');
input('post.ids/a');
Request::instance()->get('id/d');
上一篇:解决could not find driver错误TinkPHP5(tp5)
下一篇:Thinkphp5:[ error ] [8]A non well formed numeric value encountered报错解决方法
讨论数量:0