传智播客学习笔记就业班thinkphp_第1页
传智播客学习笔记就业班thinkphp_第2页
传智播客学习笔记就业班thinkphp_第3页
传智播客学习笔记就业班thinkphp_第4页
传智播客学习笔记就业班thinkphp_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 ThinkPHP讲师:李东超高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 什么是框架l框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 为什么使用框架l代码重用l合理分工l解决多人协作开发问题高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 主流的PHP框架lZend Framework lYii lSymfony lCodelgniter lThinkPHP

2、 l高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 什么是MVClMVC是施乐帕克研究中心 (Xerox PARC)在八十年代为编程语言Smalltalk80发明的一种软件设计模式,至今已被广泛使用。lMVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 MVClM:model模型表示企业数据和业务规则 lV:view视图是用户看到并与之交互的界面 lC:controller控制器接受用户的输入并调用模型和视图去完成用户的需求

3、高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 ThinkPHPl l下载thinkphp3.0l直接部署到项目中lphp5.2高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 快速入门-开发流程l创建项目l创建入口文件l配置项目l创建控制器l创建模型l创建模板l运行调试,调优l部署到生产环境高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 目录结构lThinkPHP.php框架入口文件lCommon框架公共文件目录lConf框架配置文件目录lLang框架系统语言目录lLib系统核心基类库目录lTpl系统模板目录lExtend

4、框架扩展目录高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 入口文件l所有项目都是从入口文件开始的l定义框架路径l定义项目路径l定义项目名称l载入框架入口文件 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 第一个ThinkPHP项目lrequire(ThinkPHP/ThinkPHP.php);lTHINK_PATHlAPP_NAME lAPP_PATH 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 项目目录结构lCommon项目公共文件目录lConf项目配置目录lLang项目语言包目录lLib项目类库目录lTpl项目

5、模板目录lRuntime项目运行时目录lruntime.php高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 开启调试ldefine(APP_DEBUG,true);lrequire(ThinkPHP/ThinkPHP.php);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 默认模块和动作l为什么输入地址之后,可以看到内容lDEFAULT_MODULElDEFAULT_ACTION高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 创建控制器及方法l创建Test模块的控制器l创建Test模块的index方法l创建index模

6、板并显示高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 运行时文件lRuntimelruntime.php高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 控制器高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 控制器l控制器接受用户的输入并调用模型和视图去完成用户的需求。 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 定义控制器lLib/Actionlclass UserAction extends Actionlpublic function add()l$this-display();ll高级软

7、件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 URL调度模式lThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义l1、普通模式l dule&a=action&id=1高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 URL调度模式lThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义l2、PATHINFO模式(默认模式) l le/action/id/1/ lURL_PATHINFO_DEPR 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 URL调度模式lThi

8、nkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义l3、REWRITE模式l id/1/ 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 URL调度模式lThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义l4、兼容模式l ion/id/1/ lURL_PATHINFO_DEPR 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 空操作l空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。l_empty($name)高

9、级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 空模块l空模块的概念是指当系统找不到指定的模块名称的时候,系统会尝试定位空模块(EmptyAction),利用这个机制我们可以用来定制错误页面和进行URL的优化。lEmptyActionlMODULE_NAME高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 项目分组lconfig.phplAPP_GROUP_LISTlDEFAULT_GROUP高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 URL大小写lconfig.phplURL_CASE_INSENSITIVE=true高

10、级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 控制器页面跳转lsuccess lerror lconfig.phplTMPL_ACTION_SUCCESSlTMPL_ACTION_ERROR高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 控制器页面重定向lredirectl$this-redirect(l“news/show”,l array(id=2),l 5,l“页面跳转中”l);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 视图高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 视图lview类

11、l模板文件高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 视图模板定义l默认的模板文件定义规则:l模板目录/分组名/模块名/操作名+模板后缀 lTMPL_TEMPLATE_SUFFIX 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 视图分隔符lTMPL_L_DELIM=,高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 视图模板赋值l$this-assign(“name”,$value);l$arrayname =zhangsan;l$arrayemail =;l$arrayphone =12345678;l$this-a

12、ssign($array);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 视图模板输出l$this-display();ldisplay(操作名) ldisplay(模块名:操作名) ldisplay(show,utf-8, text/xml);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 视图模板替换l_PUBLIC_:当前网站的公共目录l_APP_: 当前项目的URL地址l_GROUP_:当前分组的URL地址l_URL_: 当前模块的URL地址l_ACTION_:当前操作的URL地址 lTMPL_PARSE_STRING高级软件人才实作培

13、训专家高级软件人才实作培训专家! !北京传智播客教育 视图模板替换lTMPL_PARSE_STRING =array(l _PUBLIC_ = /Common,l _JS_ = /Public/JSl _UPLOAD_ = /Uploads,l)高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 视图获取内容l$this-fetch(); 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 模板注释l/* 注释内容 */ l/ 注释内容 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 变量输出l$name高级软件人才实作培训专家高

14、级软件人才实作培训专家! !北京传智播客教育 变量输出l数组l$username或l$user.emaill对象l$user:namel$user:test()高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 系统变量l$Think.server l$Think.getl$Think.postl$Think.requestl$Think.cookiel$Think.sessionl$Think.config高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 使用函数l格式ll$name|fn1|fn2=arg1,arg2,# 高级软件人才实作培训专家高

15、级软件人才实作培训专家! !北京传智播客教育 默认值l格式ll$变量|default=默认值高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 运算符l+$a+$bl-$abl*$a*$bl$a/$bl%$a%$bl+$a+ 或 +$al-$a- 或 -$a高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 内置标签l闭合标签l开放标签 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 包含文件 l格式:ll是基于项目的入口文件位置。l./Tpl/Admin/Public/header.html高级软件人才实作培训专家高级软件人才实

16、作培训专家! !北京传智播客教育 包含文件 l格式:lltitle高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 包含文件 l格式:l ll l 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 导入文件 l格式:llfile(必须):资源文件ltype(可选):资源文件类型,默认为jsl起始路径是网站的Public目录 l采用命名空间方式高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 volist标签 l格式:ll$vo.idl$l高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 vol

17、ist标签 lname(必须):要遍历的数组变量lid(必须):当前数组元素loffset:要输出数据的offsetllength:输出数据的长度,需要指定offsetlkey:循环索引高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 foreach标签 l格式:ll$vo.idl$l高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 if标签 liflelseiflelse高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 if标签 l格式:l lvalue1llvalue2l lvalue3l高级软件人才实作培训专

18、家高级软件人才实作培训专家! !北京传智播客教育 if标签 leq或者 equal:等于lneq 或者notequal:不等于lgt:大于legt:大于等于llt:小于lelt:小于等于lheq:恒等于lnheq:不恒等于高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 使用php代码 lphplecho “hello”;llTMPL_DENY_PHP 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 模型高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 模型 l模型表示企业数据和业务规则高级软件人才实作培训专家高级软件人才实作

19、培训专家! !北京传智播客教育 定义 l模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,然后加上模型类的后缀定义Model l位置: /Lib/ModellUserModellUserTypeModel高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 配置相关信息lDB_TYPElDB_HOSTlDB_USERlDB_PWDlDB_NAMElDB_PREFIXlDB_PORTlDB_CHARSET高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 实例化 l实例化用户自定义模型类 l$User=new UserModel();

20、l或l$User=D(“User”);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 实例化 l实例化基础模型类l$User=new Model(“User”);l或l$User=M(“User”);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 CRUD操作 l创建操作(Create)l读取数据(Read) l更新数据(Update)l删除数据(Delete)高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 CRUD操作 l创建操作l$admin=new AdminModel();l$row=array(lname=zha

21、ngsan,lage=30);l$admin-add($row);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 CRUD操作 l读取数据l$admin=new AdminModel();l$admin-select();高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 CRUD操作 l更新数据l$admin=new AdminModel();l$data=array();l$admin-save($data);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 CRUD操作 l删除数据l$admin=new AdminMode

22、l();l$admin-delete(4,5,6);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 定义字段 l字段缓存保存在Runtime/Data/_fields/ 目录下面l只要是不开启调试模式都会生成字段缓存(字段缓存可以单独设置关闭)。 l可以通过设置DB_FIELDS_CACHE 参数来关闭字段自动缓存 l可以在模型类里面手动定义数据表字段的名称,可以避免IO加载的效率开销,在模型类里面添加fields属性即可 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 定义字段 lprotected $fields=array(lid,luse

23、rname,lpassword,l_pk=id,l_autoinc=truel);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 创建数据 lThinkPHP可以帮助你快速地创建数据对象,最典型的应用就是自动根据表单数据创建数据对象,这个优势在一个数据表的字段非常之多的情况下尤其明显。 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 创建数据 l从表单中创建数据l$User-create();l从数组中创建数据l$User-create($data);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 字段映射 lThinkP

24、HP的字段映射功能可以让你在表单中隐藏真正的数据表字段,而不用担心放弃自动创建表单对象的功能 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 字段映射 lprotected $_map = array(lname = username, lpwd = userpwdl);l$data = $User-parseFieldsMap($data);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 表名操作 l在一个数据库中,如果部署了多个项目,那么我们可以使用表前缀解决问题lDB_PREFIX =think_l think_productl think

25、_product_type高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 表名操作l在ThinkPHP的模型里面,有两个关于数据表名称的属性定义:高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 事务处理l$User-startTrans()ll$User-commit()l$User-rollback()高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 ActiveRecord l表映射到类l记录映射到对象 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 ActiveRecord l增加l$User

26、= M(User);l$User-name = ThinkPHP;l$User-email = ThinkPHP;l$User-add();高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 ActiveRecord l查询l$User = M(User);l$User-find(8);l/$User-getByName(ThinkPHP);lecho $User-name;lecho $User-email;高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 ActiveRecord l修改l$User-find(1);l$User-name = TO

27、PThink;l$User-save();l$User-id = 1;l$User-name = Think;l$User-save();高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 ActiveRecord l删除l$User-find(2);l$User-delete();l$User-delete(8);l$User-delete(5,6);高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 联贯操作 lwherelorderllimitlfieldlgroup高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 统计查询

28、lcountlmaxlminlavglsum高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 实用项高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 Session lconfig.phplSESSION_AUTO_START l高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 Session lsession(name,value); l$value = session(name);lsession(name,null); lsession(null); lsession(?name);高级软件人才实作培训专家高级软件人才实作

29、培训专家! !北京传智播客教育 Cookie lcookie(name,value);lcookie(name,value,3600); l$value = cookie(name);lcookie(name,null);lcookie(null); 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 文件载入 l载入函数文件lcommon.phplCommon/common.phplconfig.phplLOAD_EXT_FILE=“user”lload(.user);lCommon/user.php高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育

30、文件载入 l载入类文件limport(ORG.Util.User);lORG/Util/User.class.phplimport(.Common.User);Lib/Common/User.class.php高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 验证码limport(ORG.Util.Image);lImage:buildImageVerify();高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 验证码limport(ORG.Util.Image);lImage:GBVerify();高级软件人才实作培训专家高级软件人才实作培训专家!

31、 !北京传智播客教育 验证码l$_SESSIONverify lmd5($_POSTverify) 高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 文件上传limport ( ORG.Net.UploadFile );l$upload = new UploadFile ();l$upload-savePath = ./Public/Uploads/;lif (! $upload-upload () lecho $upload-getErrorMsg ();l else l$info = $upload-getUploadFileInfo ();l高级软件人才实作培训专家

32、高级软件人才实作培训专家! !北京传智播客教育 文件上传相关属性lsaveRulelautoSublsubTypeldateFormatlallowExtslallowTypes高级软件人才实作培训专家高级软件人才实作培训专家! !北京传智播客教育 数据分页 l$User = M(“User”);l$count = $User-count(); l$Page = new Page($count,25); l$show = $Page-show();l$list = $User-limit($Page-firstRow.,l.$Page-listRows)-select();l$this-assign(list,$list);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论