ThinkPHP(二)

TP的URL模式

配置文件里定义

'URL_MODEL'=>1

1=>pathinfo模式(默认模式):/index.php/Home/Index/user/id/1.html
0=>普通模式:/index.php?m=Home&c=Index&a=user&id=1
2=>重写模式:/Home/Index/user/id/1.html
重写模式首先要开启Apache重写配置,并且在项目根目录下要编写重写规则.htaccess文件;
3=>兼容模式:/index.php?s=/Home/Index/user/id/1.html
兼容模式的好处是,如果你在不知道服务器是Apache还是Nginx的时候可以使用兼容模式;

U方法

U方法用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的URL地址
模板中使用,当在模板中使用U方法时,好处在于:一旦你的环境变化或者参数设置改变,你不需要更改模板中的任何代码

点击
//遍历循环过程中使用
{:U('Article/index','category='.$vo['name'])}

控制器使用

$this->redirect('Index/user');
$this->success('新增成功',U('Store/Ump/lists','type=1&id=1'));

URL伪静态

什么是伪静态?真正的静态页面其实是一个HTML文件,那么伪静态就是给了一个HTML的后缀,但是页面之间还有数据进行传输,伪静态利于搜索引擎,认为你这个是个静态文件,那么它就会以最快的速到趴到你的页面,让你的页面以最短的时间出现在搜索引擎上,对于收录是有利的,这属于SEO优化;

自定义函数

在TP框架里使用到的C、U、M、D方法等等都是在框架里面配置好的,位置:/ThinkPHP/Common/functions.php;
可以自定义一个函数例子测试一下:

function show() {
    echo 'hello word';
}

其中系统函数文件里面封装了一个var_dump的便体,dump方法浏览器友好的变量输出;

模板技术

  • 展示模板

控制器展示模板与Smarty方法一样

$this->display();

控制器里的方法要引入模板,那么对应的就要在View视图层里建立相对应的页面;

  • 模板的赋值和输出

第一种方法:
控制器赋值

$str = '王五';
$this->name = $str;

模板输出


第二种方法:
控制器赋值

$str = '王五';
$this->assign('name',$str);

模板输出

{$name}

ThinkPHP模板引擎介绍

ThinkPHP内置模板引擎,支持XML标签和普通标签的模板解析,编译型模板引擎支持动态缓存;

  • 变量输出和运算

常用的运算符:+ - * / ++ --

//正确
{$arr['age']+1}
//错误
{$arr.age+1}
  • 调用函数
//字符串加密
{$arr.name|sha1|md5}
//默认值
{$arr.today|default='2017'}
//字符串截取
{$arr['age']|substr=0,2}
//日期格式化
{$date|date='Y-m-d H:i:s',###}
  • 系统参数
//时间
{$Think.now}
//系统版本
{$Think.version}
//服务器信息
{$Think.server.http_host}
  • volist循环

{$data.name}---------{$data.age}
  • foreach循环

{$data.name}---------{$data.age}

注意:foreach循环没有offset、length、empty这三个参数

  • 条件修饰符
eq(==)
neq(!=)
gt(>)
egt(>=)
lt(<)
elt(<=)
heq(===)
nheq(!==)
  • PHP启蒙for循环

{$num}
  • if判断
num 大于 10
num 小于 10
num 等于 10

注意:elseif与else一定要有结束符/;

  • switch判断

    my name is gsy
    my name is 王五老师
    my name is default

  • 比较标签
<比较标签 name='变量名' value='比较的值'>
num = 10num != 10
num > 10num < 10
//比较标签集合体
num = 10num != 10
  • 区间标签
//in--在
在这个区间
//notin--不在
不在这个区间
//便体
在这个区间不在这个区间
//between
确实在这个区间
//notbetween
确实不在这个区间
  • 三元运算
{$num > 10 ? '大于10' : '小于10'}

你可能感兴趣的:(ThinkPHP(二))