thinkphp5常用代码调用集合,建站时很实用哦

ThinkPHP 2257 7 2018-11-22

thinkphp5常用代码调用集合,建站时很实用哦

基本配置文件: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

请先登录再发表讨论。 2024-04-25

天涯网魂
3 杠 5 星
TA 的文章
TA 的随言
TA 的资源链