近几天都在学习php 因此总结一下
首先使用的是thinkphp3.1.3的模板
在XAMPP的htdoc目录下新创建一个tt目录 随后将thinkphp导入 随后建立一个index.php
目录结构如下
这个index.php就是thinkphp的入口文件 可以有多个入口文件 比如前台的入口文件 index.php和后台的入口文件 admin.php等
在index.php中定义自己的项目路径 取项目名称 为app 引入think.php下的php文件
<?php
//定义项目名称
define('APP_NAME', 'App');
//定义项目路径 记得加斜杠
define('APP_PATH','./App/');
//引入thinkphp文件
require('./ThinkPHP/ThinkPHP.php');
?>
此时这个app项目便已经创建完成了 在浏览器中输入localhost/tt/index.php
就可以看到php的欢迎界面
此时可以看项目的目录结构
THINKPHP是系统自带的 而app是自己的项目生成的文件
首先是配置文件 有系统自带的配置文件 最好不要去改动 在thinkPHP/Conf目录下
而项目的配置文件在APP/Config下
<?php
return array(
//'配置项'=>'配置值'
"URL_MODEL" => 0,
);
?>
有四种URL模式
可以通过URL_MODEL来进行配置 可以通过”
C("URL_MODEL");
来进行输出
可以通过U函数进行输出
//模块名/方法名 参数 后缀 是否跳转 域名来进行输出
echo U("Index/user",array("id" => 1),'shtml',false,localhost);
//user方法
public function user() {
echo "id is".$_GET["id"];
echo "这是index的user方法";
}
这样即可输出
http://localhost/tp/admin.php/Index/user/id/1.html
主要有以下几种URL模式
//默认模式 pathInfo 模式1
//0 普通模式
//2重写模式ec
//3兼容模式
模块的输出
模块相当于MVC中的V 就可以想到是html的文件
在thinkphp3.1.3的文件中 实在项目的TPL文件夹下 因此建立一个index目录
随后创建一个index.html 实际上控制器即为Lib下的action下的IndexAction.class.php目录
随后在contrller中进行渲染 这一步通常是在最后执行的
首先进行赋值
$name = "caokaiqiang";
$this -> name = $name;
//渲染
$this -> display();
在index.html中进行模块的输出
{$name};
这样即可
也可以通过assign的方式进行连续的赋值
$this->assign(name,$name)->assign(age,$age);
随后进行输出即可
{$name}
{$age}
也可以通过数组的方式进行赋值 数组的输出有两种 一种是通过[]访问 一种是通过.来进行访问
$me["age"] = 18;
$me["name"] = "kevin";
$this -> assign(me,$me);
随后进行输出
{$me.age}
{$me["name"]}
调用函数 可以直接在模块输出的时候进行调用
{$me["name"] | md5 | substr = 0,5}
这里调用了 md5加密和字符串的截取
数组的输出 可以有两种方式 一种使用volist方法 还有是foreach的方法
首先定义数组
$person = array(
1 => array("name" => "jack","age" => "18"),
2 => array("name" => "tom","age" => "19"),
3 => array("name" => "sam","age" => "20"),
4 => array("name" => "hhh","age" => "21"),
);
以下中的name 都是在action中赋值的 譬如以下的id 就是赋好值传过来的
随后进行输出
volist方法更灵活 可以定义偏移量,和如果值没有的话 可以设置默认值等
而foreach的方法只能进行输出
<volist name = "person" id = "data" offset = "1" length = "3">
{$data["name"]}---{$data["age"]}<br>
</volist>
<foreach name = "person" item = "data">
{$data["name"]} {$data["age"]}<br>
</foreach>
if语句的使用 主要是conditon的书写
要记住else if和else后面必须加结 束符号 /否则会连续执行
<if condition = "$num gt 10">num 大于10
<elseif condition = "$num lt 10"/>num 小于10
<else />num等于10
</if>
eq 等于 neq 不等于 gt 大于 egt 大于等于 lt 小鱼 ltq 小于等于 heq 恒等于 nheq 恒不等于
for 判断 start和end指明 随后指明comparison 默认是小于
<!-- for循环输出 默认是小于-->
<for start = "1" end = "10" comparison = "elt" name = "k">
{$k}
switch操作
<switch name = "name">
<case value = "laoshi">jjj</case>
<case value = "xiaohong/hhh">hhh</case>
<default>cccccc</default>
</switch>
比较标签 可以直接指定比较标签名 或者使用compare的方法
<!-- 比较标签 name = "变量名" value = "比较的值" -->
<eq name = "id" value = "12">num=12<else/>num!=12</eq>
<compare name = "id" value = "12" type = "eq">num = 12<else/>num!=12</compare>
in和notin 在这个区间和不在这个区间
<!-- 区间范围的方法 可以用in 和 not in 这两种方法 -->
<in value = "1,10" name = "id">有12这个数<else/>没有12这个数</in>
区间的方法可以用between
<!-- 区间的方法 -->
<between value = "1,10" name = "id">有12这个数 <else/>没有12这个数</between>
要记住range这个方法只能代替range和不能代替between
<!-- 区间的方法 -->
<range value = "1,12" name ="id" type = "in">有12这个数<else/>没有12这个数</range>
三元运算符和平常的都一样
{$id >=12 ?"大于等于12" :"小于12"}
官方推荐的在html文件中插入php文件的方法
<php></php>而不建议使用<?php ?>