首页 > 编程语言 >ThinkPHP框架简介

ThinkPHP框架简介

时间:2023-08-29 18:35:29浏览次数:37  
标签:index name 框架 10 简介 html ThinkPHP php 模板


ThinkPHP是单一入口框架。即:在一个网站中,所有的请求都指向同一个脚本文件。

使用PHP创建项目:

新建一个项目,在index.php文件中:

<?php
define('APP_NAME', 'app');
define('APP_PATH', './APP/');
require('./ThinkPHP/ThinkPHP.php');

 

配置文件:config.php

若自定义一个配置文件,需要在config.php中:

 

'LOAD_EXT_CONFIG'=>'user',// 'user'即配置文件user.php

调用配置文件中的属性:

echo C('sex');

 

U('地址','参数','伪静态','是否跳转','显示域名');
U('模块/方法', array('id'=>1)), 'xxxx html htm sthml', true/false, 'localhost')
一般是用到前面两个就差不多了
U('模块/方法',array('id'=>1),'html',true/false,'localhost');
第二个参数是传参的值
第三个参数是后缀名,一般为html,htm,shtml
第四个参数是是否需要跳转,通常设为false,不需要跳转
第五个参数是域名

 

四种URL模式
0 普通模式 http://localhost/test/index.php?m=Index&a=index&id=1
1.PATHINFO模式 http://localhost/test/index.php/Index/index/id/1.html
2.重写模式 http://localhost/test/Index/index/id/1.html
3.兼容模式 http://localhost/test/index.php?s=/Index/index/id/1.html

 

设置多个伪静态 URL_HTML_SUFFIX=html|shtml|xml,用|分隔多个伪静态后缀

 

自定义公共函数:

放到App\Home\Common目录下,并取名为function.php才能被正确识别

 

调用模板时使用$this->display(); 
调用建立好的模板 $this->display('test');
$this->display()会默认调用相应与控制器同名的tpl文件夹下的html文件

 

模板的赋值和输出:$this->assign('name',$name)->('sex','man');//可连续赋值

 

html页面取值:

{$me['name']}//数组的方式
{$me.name}//类java的方式
{//$me.name}//注释方式
{$me.sex|default='man'}//模型没有定义变量时,可以用这个方式临时赋值
{$me['age']+1}//必须用数组的方式进行运算

 

在模板文件中调用函数:
{$me['name']|md5|substr=0,5}
{$now|date='Y-m-d H:i:s',###}
在模板文件中调用系统变量:
时间戳 {$Think.now}
版本 {$Think.version}
{$Think.server.http_host}

 

$person=array( //定义一个数组
1=>array('name'=>'jack','age'=>'18'),
2=>array('name'=>'Tom','age'=>'19'),
3=>array('name'=>'Peter','age'=>'20'),
4=>array('name'=>'Mary','age'=>'21'),
);
$this->assign('person',$person); //将数组传输给模版
//展示数组所用函数,看起来很像HTML标签,但是不是.offset开始截取的第几个数据条,length截取的条数
//当name不为person时无法输出,id不为data时只输出非定义量(HTML内容)部分
<volist name='person' id='data' offset='1' length='2' empty='我没数据'>
{$data['name']}----{$data['age']}<br>
</volist>

//foreach函数不能直接进行截取,只能通过外部的方法进行
//当name不为person时无法输出,当item不为data时重复输出最后一个至数组长度耗尽
<foreach name='person' item='data'>
{$data['name']}----{$data['age']}<br>
</foreach>

 

模板for循环:

<for start='1' end='10' comparison='elt' name='k'>
{$k}<br/>
</for>

 eq = ; neq != ; gt > ; egt >=; lt <; elt <=; heq ===; nheq!==

 

模板if语句:

<if condition='$number gt 10'>number 大于10
	<elseif condition='$number lt 10' /> number 小于10
	<else/> number 等于10
</if>

 

模板switch语句:

<switch name='name'>
	<case value='jack'>hello</case>
	<case value='tom/lili'>hi</case>
	<default>no hi</default>
</switch>

 

 模板比较标签:

<eq name='num' value='10'>num = 10 <else/>num != 10</eq><br/>
<neq name='num' value='10'>name != 10</neq><br/>
<compare name='num' value='10' type='eq'>num = 10 <else/>num != 10</compare><br/>

 

模板区间标签:

<in name='num' value='1,2,3'>zai<else/>bu zai</in>
<between name='num' value='1,10'>zai<else/>bu zai</between>
<range name='num' value='1,2,3' type='in'>zai<else/>bu zai</range>

 

模板三元运算符:

{$num>11?'大于':'小于'}

 

 html中php原生态写法:

<php>echo $name.'年龄是'.$num.'岁';</php><br />

 

 

 

 

 

标签:index,name,框架,10,简介,html,ThinkPHP,php,模板
From: https://blog.51cto.com/u_16240770/7279009

相关文章

  • thinkphp5 日期+group by + 分页paginate查询
    <?php//根据日期来统计所消耗的点数//模型的使用方法$result=$model->field("id,FROM_UNIXTIME(createtime,'%Y-%m-%d')as`createtime`,sum(price)ascount_price")->group("FROM_UNIXTIME(createtime,'%Y-%m-%d'),store......
  • Linux系统:第一章:简介
    认识操作系统操作系统的作用:把计算机系统中对硬件设备的操作封装起来,供应用软件调用。 常见操作系统PC端OS 移动端OS 服务端OS   Linux来历Unix的局限硬件绑定:早期的Unix系统都是针对专门的硬件系统开发的,不同厂商都是为自己的服务器开发专门的Unix操作......
  • 【SPI】SPI总线协议及驱动框架
    SPI通讯协议SPI控制方式SPI采用主-从(master-slave))模式的控制的方式。一个Master设备可以通过提供Clock以及对slave设备进行片选来控制多个Slave设备,SPI协议还规定Slave设备的Clock由Master设备通过SCK管脚提供给Slave设备,Slave设备本身不能产生和控制Clock,没有Clock则Slave设......
  • C#图解教程笔记 - Chapter1 C#和.NET框架
    0摘要CLR,BCL,FCL,DLL,CIL,JIT,CLI,CTS,CLS1在.NET之前20世纪90年代末,使用微软平台的Windows编程分化成许多分支。如:VisualBasic(VB)C或C++其他相关技术:Win32APIMFCCOM所有这些编程技术有一个缺点,就是它们主要针对桌面程序而不是互联网进行开发。......
  • Spring框架中的事件(Event)
    什么是事件机制?Spring的事件(Event)机制是一种在应用程序中实现模块之间解耦和信息传递的机制。它基于发布者-订阅者模式,通过事件的发布和监听来实现组件之间的通信。基本概念:事件类(EventClass):在Spring框架中,事件是通过定义一个继承自ApplicationEvent类的自定义事件类来表示的。这......
  • ThinkPHP 多语言本地文件包含漏洞
    ThinkPHP多语言本地文件包含漏洞ThinkPHP是一个再中国使用比较多的PHP框架。在其6.0.13版本及以前,存在一处本地文件包含漏洞。当多语言特性被开启时,攻击者可以使用lang参数来包含任意php文件。虽然只能包含本地PHP文件,但在开启了register_argc_argv且安装了pcel/pear的环境下,可......
  • embed简介
    goembed是Go1.16中引入的特性,它允许将文件嵌入到Go代码中,以便在运行时访问这些文件。这对于将静态资源(如HTML、CSS、JavaScript文件)直接嵌入到Go二进制文件中,以及简化文件分发和部署非常有用。下面是关于goembed的详细介绍:使用方式:goembed支持将文件嵌入到代码......
  • 015-管理后台框架布局搭建
    1.功能分析管理后台我们先看下大体页面布局如下包含左侧菜单栏,头部导航栏,tab窗体,还有内容显示区域,以及页脚.2.基本实现2.1.文件引入2.2.页面引入引入hplus下的index.html2.3.页面调整我们需要对css,js等做调整,可以使用thymeleaf方式引入<!--css相关调整--><linkrel="sho......
  • Redis简介
    文章目录一、Redis是什么?二、Redis优缺点?三、Redis应用场景四、Redis安装和使用五、Redis为什么这么快?1、为什么采用单线程2、Redis的I/O多路复用一、Redis是什么?Redis(RemoteDictionaryServer:远程字典服务)是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于......
  • ThinkPHP5 SQL注入漏洞 && 敏感信息泄露
    ThinkPHP5SQL注入漏洞&&敏感信息泄露启动后,访问http://10.10.10.154/index.php?ids[]=1&ids[]=2,即可看到用户名被显示了出来,说明环境运行成功。漏洞利用访问http://10.10.10.154/index.php?ids[0,updatexml(0,concat(0xa,user()),0)]=1,信息成功被爆出:当然,这是一个比较鸡......