ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:22.81KB ,
资源ID:6787345      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6787345.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新ThinkPHP学习笔记.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新ThinkPHP学习笔记.docx

1、最新ThinkPHP学习笔记Thinkphp1.单入口原理访问任何文件都必须通过某一个固定文件,如index.php,这就是单入口原理。2.XX收录网站的时候,更倾向于目录和静态文件。3.基础项目中一个模块就是一个文件夹,模块的增删改查操作就是文件夹里对应的文件。4.在ThinkPHP中,一个模块就是一个类文件,也就是模块文件,而模块的增删改查操作,就是该类文件中的对应的方法。5.在ThinkPHP中,要增加一个功能模块就是要加一个类文件,即模块文件,要对该模块增加一个操作,就是在该类文件中加一个方法。6.在PHP中,在回标签(?)之后不能有任何输出,包括空格,否则在被包含时可能会报错。7.为

2、了保险起见,不要加回标签(?);8.在TP中有全局配置文件,这里的配置文件影响每一个应用,但有时候我们需要改变某个应用的配置项。那么,我们就需要单独为该应用进行配置,这就是局部配置文件,、。9.局部配置文件的优先级高于全局配置文件。10.配置文件在项目的conf中。11.要想读取配置文件中的任何一个选项,可以用一个C()方法。例如:echo C(DEFAULT_CHARSET);12.C()方法用于获取配置文件中的选项。(大写C);13.函数跟踪,在学习或观看一个项目时,为了知道某个函数的来源,需要对函数进行跟踪定位。14.公共函数:在TP的Common中的common.php中的函数即为公共

3、函数,可以在项目的任何地方使用。15.局部函数:在项目应用中的Common中的common.php文件中定义的函数,即为局部函数,该函数只在该应用中有效,在其他应用中不能使用。16.公共类文件。17.自定义类文件。18.如何使用并包含自定义类文件。Import(ORG.Mycls.Person);$user=new Person();$user-show();19.定义变量并分配模板;public function index() $name=李帅帅; $age=22; $this-assign(name,$name); $this-assign(age,$age); $this-displa

4、y();在模板中是这样接收:$name $age20.定义控制器在Action文件夹中新建一个UserAction.class.php,即完成一个控制器的定义。success(登录成功!,add); public function add() echo 在我这儿添加数据吧!; 其中$this-success(登录成功!,add);只支持本模块跳转。23.URL伪静态设置,URL_HTML_SUFFIX = html, / URL伪静态后缀设置,如果后面什么都没有,则没有后缀名。而地址栏显示的就是文件夹格式,有利于XX收录。24.URL生成,利用U()方法可以生成地址。如U(add)可以生成ad

5、d方法所在的地址。public function add() echo U(add);/生成本模块中add的地址。 所得的结果为:/TPtest/test1/admin.php/Index/add;public function index() echo U(User/index,id=10&name=user1);/生成User模块中index的地址,并传递参数。/TPtest/test1/admin.php/User/index/id/10/name/user1 / $this-success(登录成功!,add); 25.所以跨模块跳转为:public function index()

6、$this-success(登录成功!,U(User/del); 让U()方法生成地址。26.登录失败跳转:public function index() $this-error(登录失败!,U(User/del); 为error()方法。27.重定向没有过渡页面,直接跳转到目标页面。public function index() $this-redirect(User/index);/跨模块重定向。$this-redirect(add);/本模块重定向。 $this-redirect(User/del,id=10);携带参数重定向,即该方法可以带参数。重定向用redirect()方法。28.

7、获取URL参数echo ; print_r($_GET); echo ;利用$_GET就可以获取URL参数。29.URL重写:a).修改apache配置文件加载rewrite.b).在.htaccess中写重写规则。30.页面上能发生跳转的有a连接和表单。31.URL大小写,只要在项目配置(全局配置或局部配置文件)中,增加: 1. URL_CASE_INSENSITIVE=true就可以实现URL访问不再区分大小写了。 1. http:/serverName/index.php/User/add2. /将等效于3. http:/serverName/index.php/user/add32.U

8、RL模式修改地址为当前模块下的edit方法。删除_URL_表示当前模块。33.U()方法用于生成当前方法的地址。34.统一链接的地址,修改:U(edit)可以统一链接地址,表示生成当前模块下edit方法 的地址。删除35.URL路由,要使用路由技术,需要在配置文件中开启路由。1. URL_ROUTER_ON=true,/开启路由2. URL_ROUTE_RULES=array(/定义路由规则3. news/:year/:month/:day=array(News/archive,status=1),4. news/:id=News/read,5. news/read/:id=/news/:1,

9、6. ),路由可以对地址进行伪装,和简化地址。假地址对应真地址。客户看到的地址与真实的地址不同。36.如果要在模板里面使用php代码,需要用模板标签。37.AR操作,查看最近的一条完整的SQL语句,$m-getLastSql().插入一条记录:a).public function insert() $username=$_POSTusername; $password=$_POSTpassword; $sql=insert into user(username,password) values($username,$password); $user=M(); if($user-execute(

10、$sql) $this-success(添加成功!,U(index); b).public function insert() $user=M(User); $user-create(); if($user-add() $this-success(注册成功!,U(index); AR操作中,增删改查时,表单name属性的值必须与数据表中字段对应相等。否则操作不成功。修改一条记录:public function edit() $id=$_GETid; $user=M(User); $row=$user-find($id); $this-assign(row,$row); $this-displa

11、y(); public function update() $user=M(User); $user-create(); if($user-save() $this-success(修改成功!,U(index); 删除一条记录:public function delete() $id=$_GETid; $user=M(User); if($user-delete($id) $this-success(删除成功!,U(index); 查看一条记录:public function index() $user=M(User); $rows=$user-select(); $this-assign(r

12、ows,$rows); $this-display(); AR操作函数:$obj-select();查询数据,返回一个二维数组。函数里可以有id参数,select(3);$obj-find();查询数据,返回一维数组,而且是返回所有记录的第一条数据。函数里可以有id参数,find(4);$obj-delete($id),删除数据,必须指定参数,指定要删除的记录。添加数据:$user-create(); /创建数据对象data。$user-add();把不是表单提交过来的数据插入:$user=M(User);$r=$user-create();If($r)$user-time=time(); /

13、只要给$user设置属性,就 会编程数据对象data.$user-password=md5($user-password);$user-add();修改一条数据:$user=M(User);$r=$user-create();If($r)$user-time=time();$user-save();$this-success(修改成功!,U(index);38.CURD操作:a) $row=$user-order(id desc)-select();按id倒序排序的方式显示。b) $row=$user-order(id desc)-limit(3)-select();获取倒序排序的前3条数据。

14、c) $row=$user-field(id username)-order(id desc)-limit(3)-select();光显示id和username字段的数据。d) $row=$user-field(password,true)-order(id desc)-limit(3)-select();除了password字段外,其余字段全部显示数据。 e) $row=$user-field(password,true)-where(id3)-order(id desc)-limit(3)-select();查询id3的数据。Select if(sex=0,男,女) sex,count(*

15、) from user group by sex; 按照sex字段进行分组,并且如果sex=0则显示男,如果sex=1则显示女。f) $row=$user-field(sex,count(*)-group(sex)-select(); /分组查询。如果涉及多表查询,则直接写SQL语句。其中select()方法必须放到最后,其他方法可以调换顺序,最后select()会自动整理顺序,形成完整的SQL语句。直接写SQL语句的方式:1.$m=M();$sql=select user.username score.num from user,score where user.id=score.user_

16、id;$rows=$m-query($sql);query()方法用来执行查询语句。2.$m=M();$sql=insert into user(username,password) value(user1,123);$r=$m-execute($sql);execute()方法用来执行 增,删,改 语句。2.CURD连贯操作之添加数据:$sql=insert into user(username,password) value(user1,123); /内部组建的语句,无需书写。$user=M(User);$user-create();$user-add();3.CURD连贯操作之删除数据:

17、a).delete from user ehere id=5;/删除id=的的记录。$user=M(User);$user-delete(5);b).delete from user id5;/删除id5的记录。$user=M(User);$user-where(id5)-delete();c).delete from user where id in(1,3,5);/删除id为1, 3,5的记录。$user=M(User);$user-delete(1,3,5);4.CURD连贯操作之修改数据:a).update user set username=user11,password=456wh

18、ere id=1;$user=M(User);$user-create();$user-save();b).update user set username=user12,password=234where id1 and idcreate();$user-where(id1 and idsave();模型的主要作用是操作数据库。视图:模板替换:_PUBLIC_:./Public:_ROOT_:_APP_:_URL_:_ACTION_:_SELF_:public:/TPtest/test2/Publicapp:/TPtest/test2/admin.php./public:/TPtest/te

19、st2/Admin/Tpl/Publicroot:/TPtest/test2action:/TPtest/test2/admin.php/Index/indexurl:/TPtest/test2/admin.php/Indexself:/TPtest/test2/admin.php获取内容:有些时候我们不想直接输出模板内容,而是希望对内容再进行一些处理后输出,就可以使用fetch方法来获取解析后的模板内容,在Action类里面使用1. $content=$this-fetch();模板引擎$title在模板中会被解析成:如果前面没有$的话就没问题。如title;修改定界符:如果$title与j

20、s中的$a有重复的话,php解析时会报错。这时可以修改定界符为来解决问题。系统变量:$this-assign(id,$_GETid);超全局数组可以不用分配,直接在模板中使用,如:$_GETid;$_POSTtot,这些都不用分配,直接在模板中使用即可。在ThinkPHP中,所有方法已经默认开启了session_start(),在使用session时无需在开启。$_SESSION也无需分配,直接在模板中使用即可。系统变量可以这样写:$Think.get.id /获取$_GET里面的id。$Think.post.tot /获取$_POST里面的tot。1.在模板中使用函数,在定界符中加:函数就可

21、以使用。例如: :show()即在模板中使用控制器中定义的函数show().使用变量是用$,即$name。而且该方法只能是该模板中调用该模板所对应的函数中的方法。例子::substr(strtoupper($title),0,6),在模板中使用函数。2. $title|strtoupper|substr=#,0,6,#表示模板变量本身的参数位置。所有的函数都可以这样用。3. show() 执行函数但不输出用后面加函数。4. 在模板中使用运算符:例如:$a+$b $a-$b等等。5. 包含文件: cccccccccc cccccccccc cccccccccc cccccccccc cccccc

22、cccc 其中Public模块为Tpl文件夹下,Public文件夹中有文件header.html和footer.html.也就是要包含的文件。模板如何引用自己的静态资源?./public:/TPtest/test2/Admin/Tpl/Public cccccccccc cccccccccc ./Public 表示当前应用中(模板)Tpl下的Public文件夹。模板替换仅仅在$this-display()所要加载的模板中有效,在其他文件中一概无效。可以在模板文件中使用任何的php代码。主要有两种格式: 和 for标签的使用方法: $i if标签的使用方法: $i $i 比较标签:等于:eq不等

23、于:neq大于等于:eqt小于等于:elt小于:lt大于:gt恒等于:heq不恒等于:nheq在模板中的标签中,只有标签中的属性可以有$符号,其余标签不能有。三元运算符:1. $status?正常:错误2. $infostatus?$infomsg:$infoerror标签嵌套:系统内置的标签中,volist、switch、if、elseif、else、foreach、compare(包括所有的比较标签)、(not)present、(not)empty、(not)defined等标签都可以嵌套使用。例如: 1. 2. 3. $sub.name4. 5. 上面的标签可以用于输出双重循环。默认的嵌

24、套层次是3级,所以嵌套层次不能超过3层,如果需要更多的层次可以指定TAG_NESTED_LEVEL配置参数模板继承:模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并且其中定义相关的区块(block),然后继承(extend)该基础模板的子模板中就可以对基础模板中定义的区块进行重载。因此,模板继承的优势其实是设计基础模板中的区块(block)和子模板中替换这些区块。每个区块由标签组成,并且不支持block标签的嵌套。1. 2. $title3. 4. 首页5. 6. 夏日的街头,吊带装、露背装、一步裙、迷你裙五彩缤纷、争妍斗艳。爱美的女孩们不仅在服饰搭配上费尽心机,饰品的选择也十分讲究。可惜在商店里买的项链、手链、手机挂坠等往往样式平淡无奇,还容易出现雷同现象。资讯7. 8. 服饰 学习用品 食品 休闲娱乐 小饰品论坛9. 10. 11. (2) 缺乏经营经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1