thinkPHP的学习

近几天都在学习php 因此总结一下

首先使用的是thinkphp3.1.3的模板

在XAMPP的htdoc目录下新创建一个tt目录 随后将thinkphp导入 随后建立一个index.php
目录结构如下

1.png

这个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的欢迎界面
此时可以看项目的目录结构

2.png

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目录

3.PNG

随后在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 ?>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,035评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,649评论 18 139
  • 本周的《奔跑吧》即将迎来收官之作,“陆地CP”究竟是导演组故意为之,还是天作之合,也只有当事人自己知道。但小编今天...
    戒咖啡cxj阅读 218评论 0 0
  • 闭上眼,他慢慢沉入水中,残留下一串咕噜的气泡,头发像是水草一样在水里若隐若现。 浅暖色的浴灯在重叠缠绕的模糊水汽里...
    陈可盐阅读 635评论 2 2
  • 题目1: DOM0 事件和DOM2级在事件监听使用方式上有什么区别? DOM0 事件JavaScript和HTML...
    无目的阅读 113评论 0 0