为了账号安全,请及时绑定邮箱和手机立即绑定

快速入门ThinkPHP框架—理论篇

Donsen PHP开发工程师
难度中级
时长 3小时51分
学习人数
综合评分9.43
169人评价 查看评价
9.8 内容实用
9.3 简洁易懂
9.2 逻辑清晰
  • U方法
    查看全部
  • (下) //4.区间查询 where['id']=array(array('gt',100),array('lt',3),'or');//查询>100 或者<3的数据 //5.混合查询 $where['id']=array('gt' 10);//查询id>10的数据 $where['_string']='scoer>10';// 查询scoer>10的数据 $data=M('User')->where( $where )->select(); //6.统计用法 // count统计数量 可选 // max 获取最大值 必须传入 统计的字段名 // min 获取最小值 必须传入 统计的字段名 // avg 平均值 必须传入 统计的字段名 // sum 求和 必须传入 统计的字段名 $data =M('user')->min('id');//查询语句(所有记录中 id 值最小的记录) PS:建议不要直接使用 1.直接用字符串进行查询 和 5.混合查询 防止SQL注入 (对所有用户提交的数据都要进行 防SQ注入 操作)
    查看全部
  • 1.前面函数(在这里,变量也可以看做一个函数,只是这个函数直接返回了它的唯一参数)输出的值,将被后面的函数作为函数的第一个参数,则可以直接使用: {$me['name']|md5|substr=0,5} 等同于 substr(md5($me['name']),0,5) 2.如果函数有多个参数需要调用,而前面函数返回的值是后面函数的非第一个参数(第二,第三,第四......个参数值),则用三个#代替面函数返回的值: {$now|date='Y-m-d H:i:s',###} PS:在任何时候 ### 都代表了前面函数返回来的参数值,所有可以这么使用(但没必要): {$me['name']|md5=###} 3.或者直接使用php格式,只是在最外层函数前加 “:” : {:substr(md5($me['name’]),0,5)} 4.对于TP的框架变量,不需要反之直接输出: 时间戳 {$Think.now} TP版本 {$Think.version} 服务器地址 {$Think.server.http_host}
    查看全部
  • 赋值与输出: 方法一: $name='Blank700'; $this->name=$name; $this->display(); 然后在html中用php输出: <?php echo $name; ?> 也可以用TP内置模板引擎输出: {$name} 方法二: $name='Blank700'; $date=date('Y-m-d'); $this->assign('name',$name)->assign('sex','man')->assign('today',$date); //可以连续赋值 $this->display(); 方法三: $array['name'] = 'Blank700'; $array['sex'] = 'man'; $array['today'] = date('Y-m-d'); $this->assign($array); $this->display(); 方法二与方法三输出方法如下: 在html中用php输出: <?php echo $name; ?> <br/> <?php echo $sex; ?> <br/> <?php echo $today; ?> 也可以用TP内置模板引擎输出: {$name}<br/>{$sex}<br/>{$today}
    查看全部
  • ThinkPHP3.2.3版本中 1. 1).没有Tml文件夹,应该在Appliaction/Home/View下面建立文件夹 才可以。 2)>调用 Index 控制器的 Index 操作 对应的模板文件就应该是:./Application/Home/View/Index/Index.html (必须在 Application/Home/View 目录下建立一个和控制器同名的[注意大小写]文件夹,用以存放此控制器不同操作需要调用的不同模板) 2. 1).在 Index 控制器的 Index 操作中调用此操作默认的模板(./Application/Home/View/Index/Index.html )时,不用填写调用的模板名: $this->display(); 2).在 Index 控制器的 Index 操作中调用 本控制器的 其他操作的模板(./Application/Home/View/Index/test.html )时,需要填写调用的模板名: $this->display('test'); 3).跨控制器调模板时,需要将 控制器文件夹名 填写上(在 User控制器 的 add操作 中调用 Index控制器 的 test操作): $this->display('Index/test'); 4) a.这里的模板文件夹( Application/Home/View )中的控制器和操作并不一定需要在程序中有实际对应的控制器和操作的代码,只是一个目录名称和文件名称而已,例如,你的项目里面可能根本没有Public控制器,更没有Public控制器的menu操作,但是一样可以使用: (在 Index控制器 的 Index操作 中调用 Public/test 模板) $this->display('Public/test'); //必须在同一个应有中 b.甚至可以调用不同应有的模板,只要路径对(相对于入口文件的相对路径): (在 ./Application/Home/Controller[相对于入口文件] 下的 Index控制器 的 Index操作 中调用 ./Template/menu.html 模板) $this->display('Template/menu.html'); //此时必须要吧文件后缀名也写上才能正常调用
    查看全部
    1 采集 收起 来源:建立项目模板

    2018-03-22

  • 1.伪静态页面定义 没有与数据库交互就是静态网页,有数据交互才能产生内容就是动态页面。 伪静态让搜索引擎误以为该页面是静态(如截图:实际上浏览器访问的是 index控制器 的 user方法 传回来的数据,而不是一个真正的html静态页面,但TP让数据已静态页面的方式显示在浏览器中,这样搜索引擎就能将生成的伪静态页面认为是一个静态页面了),从而更快速搜索到。 因为动态页面之中如果数据量比较大,就会多花很多时间去读取数据,如果用户每一次都需要很多时间去读取数据,是不是会流失用户? 而静态方法的作用就是把动态页面获取到的内容保存在一个自动生成的html或者shtml页面中,用户第一次浏览页面的时候读取时间会慢,但是第二次第三次甚至直到数据没有变化前,用户基本不需要读取数据库中的数据就能浏览到之前第一次浏览时就保存好了的信息。 2. URL伪静态:设置URL伪静态有助于搜索引擎找到该页面,更轻易被蜘蛛爬虫抓取。 伪静态的设置: 伪静态页面后缀在框架配置文件中设置( ThinkPHP/Conf/convention.php )的( 'URL_HTML_SUFFIX'=>'html’, )但框架配置文件不建议修改(当多个项目共用一个框架时,修改框架配置文件会影响其他项目),所以只需要在项目配置文件中从新设置,用以覆盖框架配置文件的设置即可. 在APP/Config/config.php里设置 return array( 'URL_HTML_SUFFIX'=>'html|shtml|xml',//URL伪静态后缀设置(几种后缀用 ‘|’ 分隔) ) 此时就可以用 U() 函数定义伪静态页面的后缀了
    查看全部
    1 采集 收起 来源:URL伪静态

    2018-03-22

  • 1、调用配置文件中设置的参数用C方法: 例如:在Conf文件夹下的config.php中定义了'name'=>'aa' 在控制器中调用name的值时应 C('name') [ 大C函数 用于查看和动态修改配置参数值] 2、在 非调试模式下 [ define('APP_DEBUG’,FALSE) ], TP 在第一次运行时,在项目文件夹下( Application文件夹下 )创建 Runtime文件夹 并将部分(不需要改变的)代码编译加载到此文件夹中,当系统再次运行时,就直接到此文件夹中调用,减少了编译时间.所以当修改 config.php 中参数的值重新运行时,用 C() 查看到的参数值没有改变 在 调试模式下 [ define('APP_DEBUG’,TURE) ], TP 在每次运行时都会进行编译,且不会将编译的代码存储在 Runtime文件夹 中,此时修改 config.php 中参数的值重新运行时,用 C() 查看到的参数值就改变. 3、若想调用自己新建配置文件中的值,需在config.php中加载此配置文件 例子:自己在Conf文件夹中新建了user.php,代码如下 return array( 'sex'=>'woman', LOAD_EXT_CONFIG=>'user', //加载同目录下的自定义配置文件,配置文件名必须与此参数值相同 ); 4.个人见解: 在 非调试模式下 [ define('APP_DEBUG’,FALSE) ], TP 在第一次运行时,在项目文件夹下( Application文件夹下 )创建的 Runtime文件夹中 编译加载的代码:在加载系统自定义的配置文件( config.php )中的代码时,只加载了 “ LOAD_EXT_CONFIG=>'user' “ 这条语句,所以当 user.php 和 config.php 配置文件中的参数都修改后,再次运行时, 用 C() 查看到的参数值 config.php 中修改的没有改变; user.php 中的就改变了. 所以 PS :无特殊情况,最好不要自定义配置文件
    查看全部
  • 在模板文件中调用函数: {$me['name']|md5|substr=0,5} {$now|date='Y-m-d H:i:s',###} 在模板文件中调用系统变量: 时间戳 {$Think.now} 版本 {$Think.version} {$Think.server.http_host}
    查看全部
  • 是与不是,是关键
    查看全部
    1 采集 收起 来源:框架简介

    2015-03-02

  • 缩写的含义:eq = ,neq != ,gt > ,egt >= ,lt < ,elt <= ,heq = = = ,nhqg!= = 在模板中: <for star="1" end="10" comparison="elt" name="k"> {$k}<br/> </for> 若不设置comparison则默认为lt,即小于
    查看全部
  • 常用方法: C( ) 写在框架Common/common.php文件里;U( )写在Common/function.php文件里。 自定义函数: 1) 3.1.2版本:Common中新建名为common.php的文件,写好自定义的函数方法;在IndexAction.class.php直接调用。 2) 3.2版本:App\Home\Common目录下,创建名为function.php的文件,其他同上 开发过程中常用的方法:
    查看全部
    1 采集 收起 来源:自定义函数库

    2017-02-16

  • 1 不推荐使用if判断标签(原因是condition属性使用php语法),尽量用其他标签替代。 2 实在不行就用php原生语法, <php>php语法</php> (原因异步方式使用的都是php原生语法) <foreach name='person' item='data'> <br /><!-- 比较标签 --> <egt name='data.age' value='18'>{$data.name}已成年<else />{$data.name}未成年</egt> </foreach> <br /> <foreach name='person' item='row' > <!-- {$person[1]['age'] >= 18?"yes":"no"} 二维数组--> {$row['age'] >= 18?"成年":"未成年"} <br/> <!-- 三目运算符 --> </foreach> <php>echo $person[1]['name']</php> <!-- 模板中使用PHP -->
    查看全部
  • 1、ThinkPHP中的URL模式: 在配置文件中定义URL_MODEL的值 值为1 默认模式 pathinfo模式 形式如下:http://localhost/muke/index.php/Index/user/id/1.html 值为0 普通模式 形式如下:http://localhost/muke/index.php?m=Index&a=user&id=1 值为2 重写模式 形式如下:http://localhost/muke/Index/user/id/1.html 值为3 兼容模式 形式如下:http://localhost/muke/index.php?s=/Index/user/id/1.html 2、U()方法的使用,U方法可以对URL进行解析 U('模块/方法',array('id'=>1),'html',true/false,'localhost'); 第二个参数是传参的值 第三个参数是后缀名,一般为html,htm,shtml 第四个参数是是否需要跳转,通常设为false,不需要跳转 第五个参数是域名 例子:U('Index/user',array('id'=>1),'html',true,'localhost');
    查看全部
  • 单一入口框架 好处是:项目结构规范,控制灵活,更加安全。能够将不法的代码,以及不安全的代码,将他们拒之门外。
    查看全部
    1 采集 收起 来源:关于单一入口

    2017-02-06

  • 1.当APP_DEBUG为true,项目配置文件,每次都会被加载,一般用于调试,为false时,一次编译,后保存在runtime目录下,下次不会重新加载。 2.自定义的配置文件每次都会重新加载。 3.每个项目目录都会有一个配置文件。
    查看全部

举报

0/150
提交
取消
课程须知
1、PHP基础语法 2、MYSQL常用的SQL语句 3、面向对象开发思想
老师告诉你能学到什么?
1、理解框架的概念 2、熟练掌握tp框架的基础用法 3、简单的使用tp框架进行相关开发

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!