tp5函数
###代表被解析的变量
tp5函数的使用
先定义一个临时变量
{assign name="a" value="2"}<br>
md5加密
{$a|md5}
截取$a
{$a|md5|substr=0,2}
或者
{$a|md5|substr=###,0,2}
转换时间戳
{$a|date="Y-m-d H:i:s",###} ###代表被解析的变量

 

系统函数的使用

{Think.now}

{$Think.const.NOW_TIME}解析常量

 

模版中文件的引入
{include file="../application/index/view/public/header.html"}或者直接写
{include file="public/header" /} 或者 {include file=”public:header”}系统会自动解析
,css,js,image文件的引入 css和js文件在public/static下面创建的文件夹css和js里面创建
css路径相当于css文件,js引入文件相当于入口文件而言,application
<link rel="stylesheet" type="text/css" href="/static/css/test.css">
<script type="text/javascript" src="/static/js/test.js"></script>
或者
{load href="/static/css/test.css"}
{load href="/static/js/test.js"}
或者
{js href="/static/js/test.js"}
{css href="/static/css/test.css"}
图片的引入
html模版
<img src="/static/image/1.jpg">
css
body{
color:red;
background: url("../image/1.jpg");
}
js
alert(1);
b.style.background="url('/static/image/1.jpg')";
也可以通过配置项view_replace_str来进行自我设置css js img路径
view_replace_str=>[
'__CSS__'=>"/static/css",
'__JS__'=>"/static/js",
'__IMG__'=>'/static/image'
]
然后路径可以这样写
{js href="__JS__/test.js"}
{css href="__CSS__/test.css"}
<img src="__IMG__/1.jpg">

 

请求
request
request->param();
input();
这两个可以获得所有传值,包括get和post
地址绑定参数,如果访问的时候定义了形参则访问的时候一定
要传参数,并且名字必须一样,地址绑定参数

 

var_dump(input("id")); //获取所有类型的id
var_dump(input("get.id")); //获取get类型的id
var_dump(input("post.user1")); //获取post类型的user1

var_dump(input("?post.user1")); //判断post方法里面是否有user1
dump(request()->has("user1","post")); //判断post方法里面是否有user1

dump(request()->post(["user3"=>"ffffff"])); //添加一个新的post数据

dump(request()->post(['user1'=>"3333"])); //修改一个post数据中原有的值

//判断是否存在请求方法
dump(request()->isAjax());
dump(request()->isGet());
dump(request()->isPost());

//默认全局过滤方法 default_filter=>'htmlspecialchars'; 默认把请求里面的php标签
转换成字符串
//单个验证过滤方法
request()->param("user2","","md5"); //对user2的表格控件进行md5加密

//支持php内置函数的验证方式
request()->param("user2","",FILTER_VOLIDATE_EMAIL);

//支持强制转换类型
request()->param("user2/d");
input("user2/d");
/s 字符串
/a 数组
/b 布尔
/f 浮点
/d 整型

 

//request获取当前的模快,控制器,方法
request->module();
request->controller();
request->action();
新建一个Common文件,然后在Common文件中继承Controller,
这样的话以后其他文件继承Common文件就行了

数据库基本操作
首先在databse.php里面修改database为lingjun
然后
dump(db()) //如果没有出错,则表示数据库链接成功
数据库查询 query
dump(db()->query("select * from stu_info"));
数据库增删改 execute
dump(db()->execute(insert into stu_info(sname,age,addr)values(
('lh','17','nanjing'),('bugaox','21','beijing')"));

第二种数据库链接方法 可以更换数据库
dump(db("",[
'type' => 'mysql',
'hostname'=>'127.0.0.1',
'password'=>'',
'database'=>'know',
'username'=>'root']);
第三种链接方法
dump(db("","db_config1")->query("select * from user"));
dump(Db::connect("db_config1")->query("select * from user"));
db_config1.php在扩展文件夹下面,内容和database里面一样

 

模型层分为数据处理和逻辑处理的方法
首先在index文件夹里面新建一个文件夹logic,下面新建一个User.php
内容
namespace app\index\logic;
class User{
public function test1(){
return "我是user模型中的逻辑处理方法";
}
}
model文件夹是模型层,下面的User.php内容
<?php
namespace app\index\model;
use \think\Model;
class User extends Model{
public function model34(){
echo "123";
}
public function test1(){
return "我是user模型中的数据处理方法";
}
}
?>

调用模块类
第一种方法 实例化类
$user=new \app\index\model\User;
dump($user->test1);
$user=new \app\index\logic\User;
dump($user->test1);
第二种方法 Loader::model
$user=Loader::model("User");
dump($user->test1);
$user=Loader::model("User","logic");
dump($user->test1);
第三种方法 mode
$user=model("User");
dump($user->test1);
$user=model("User","logic");
dump($user->test1);
Loader::mode和mode调用模型层的方法不支持特殊符号
模型层数据库操作
save,saveAll saveAll返回的是一个对象,不是影响的条数
db数据库添加 insert ,insertAll 添加一条和添加多条
db数据库不可以使用save和saveAll方法
模型层添加数据可以使用insert,insertAll,save,saveAll方法
getLastInsID //获取添加的数据的最新的ID,如果添加多条数据,获取的是添加的多条里面第一条的id
模型层添加数据的方法只能save()使用getLastInsID()
saveAll()不能用getLastInsID();
allowField可以过滤数据库不存在的非法字段

 

 

 

posted on 2017-11-07 21:01  顾君临  阅读(99)  评论(0)    收藏  举报