




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ThinkPHP入门文档1、 下载与安装1、从ThinkPHP官网上下载一个相对稳定的版本,这里推荐3.0版本。2、下载后的压缩包中有个ThinkPHP文件夹,我们要做的就是把这个文件夹直接拷贝到自己项目的根目录下。3、 创建入口文件通常一个网站项目都会分为前台与后台两个部分,所以这里我们需要创建2个入口文件,但在此之前,我们要建立好目录。在项目根目录下分别创建以下目录:Admin存放所有后台文件Home存放所有前台文件Public存放所有公共资源Upload存放用户上传的资源下面开始正式创建入口文件了,入口文件的意思就是,所有的操作必须基于这个文件。首先,我们在Home目录中,新建一个index.php文件来作为网站前台的入口文件,这个文件中只需包含下面的代码(红框部分)就行了。然后可以试着运行下这个文件,在浏览器中输入http:/localhost/framedemo/Home/index.php如果能看到下面的结果,就表示入口文件创建成功了。这里要注意下,thinkphp在创建入口文件的过程中,同时也会在我们的项目中自动生成一些目录,它的目录结构如下:Admin中入口文件的创建与此类似,这里不再赘述。2、 代码编写Thinkphp中数据的展示将不再放在php中,而是由html模版代替。所以Thinkphp中代码的编写主要基于两种文件,一种是html类型的模版文件,一种是php类型的后台处理文件,这点跟Struts框架很类似,html模版文件相当于jsp,而php则相当于action。另外,还有一个地方也需要格外注意,就是文件的命名。下面通过表格来看下两种文件的命名方式。php文件html模版文件文件名类名+Actionphp类中的方法名后缀名.class.php.html所在目录/Lib/Action/Tpl/default/php类名上面这种命名方式与Struts2.x的动态配置也如出一辙,都秉承了一个重要的原则,即约定大于编码。注意:所有的控制器必须继承Action类,该类位于/ThinkPHP/Lib/Core/目录下3、 导入第三方类库thinkphp框架中,导入类库有两种方式,import和vendor。他们的区别如下:import:主要导入以.class.php结尾的类库和文件vendor:默认的导入路径为 ThinkPHP系统目录/Vendor 目录,默认后缀为.php 。为了引用上的方便,我们通常将第三方类库统一放在ThinkPHP系统目录/Vendor 下面,然后通过下面的方式来导入:vendor(目录名.文件名);注意:这里的文件名不用包含后缀,如果文件名去除后缀后还包含了.号,则点号可以用#号来代替。4、 传递参数在类名/方法名的后面直接带上参数值即可,不用写参数名,格式如下:类名/方法名/参数1/参数2/多个参数之间默认以/来分隔,分隔符在配置文件中可以更改。5、 获取url参数1、 获取get方式参数$_GET_URL_下标;这里的下标通常从2开始,0 表示类名,1 表示类中的方法名。2、 获取post方式参数$_POST表单中的元素名称;6、 页面跳转1、redirect方式redirect($class,$method,$params=array(),$delay=0,$msg=)参数含义如下:$class:类名$method :方法名$params :参数$delay :延时,单位秒$msg :跳转过程中的提示信息7、 将信息输出到模版php的action中向模版输出信息可以通过下面这种方式:1、设置模版变量$this-assign($result, $list);$result:模版变量名$list:数据这种方式与java中的的request.setAttribute(key,value);非常类似。但是也有个区别,注意这里的$result参数,它既可以是一个字符串变量,也可以是一个数组变量,如果是数组变量,则无须传入第二个参数。示例如下:/采用数组方式输出多个变量$tplArray = array();$tplArray$result = $list;$tplArraypageStr = $pageStr;$this-assign($tplArray);2、 输出$this-display();8、 模版中获取后台数据1、字符串型数据$模版变量名称2、 数组型数据$循环变量.字段名称3、 判断模版变量是否为空为空不为空与else合并用法为空不为空4、条件判断之if5、条件判断之switch输出内容默认情况6、日期格式化$日期变量|date=Y-m-d H:i:s,#7、数值格式化$数值|number_format=小数位数 8、在模版中定义变量9、变量比较在thinkphp框架中,if和eq都可以用于变量的比较。区别在于:if标签仅用于单个变量和一个常量的比较,而eq标签不仅可以比较单个变量和一个常量,还可以比较两个变量,这点请切记!示例:比较单个变量比较两个变量注意点:name属性里不用加$符号,而value属性需要加上$符号。10、导入模版文件Thinkphp模版中通过标签来导入模版文件,示例:如果导入的模版文件与主文件属于同一个模块,则file属性中的类名与冒号可以省略。注意点:如果被导入的模版中仅仅是包含了一些静态信息,那么通过上面这一步,模版中的内容应该就可以成功载入了,但是,很多情况下,被导入的模版包含的信息是动态的,这个时候,我们需要在后台为导入的模版提供相关数据,方式如下:R(类名/方法名,参数);这个方法的意思就是,在本类中调用其它类中的方法。11、模版中获取session$_SESSION.session名称9、 基础配置在入口文件所在目录中,有一个Conf目录,该目录下有个config.php文件,用户自定义的配置都写在该文件中。/* 数据库配置 */DB_TYPE= mysql, /使用的数据库类型 DB_HOST= 11, /数据库主机 DB_NAME = logomo, /数据库名 DB_USER = root, /数据库账号 DB_PWD = admin, /数据库密码 DB_PORT = 3309, /数据库端口/* 程序配置 */ TOKEN_ON = true, /是否开启令牌验证 URL_MODEL = 3, /URL模式:0普通模式 1PATHINFO 2REWRITE 3兼容模式URL_PATHINFO_DEPR= /,/PATHINFO URL 模式下,各参数之间的分割符号DEFAULT_THEME= default,/默认模板主题URL_HTML_SUFFIX= .html,/URL伪静态后缀设置DEFAULT_CHARSET= utf-8, /默认输出编码DEFAULT_TIMEZONE= PRC,/默认时区/数据返回格式,默认AJAX,可选JSON、XML .DEFAULT_AJAX_RETURN= JSON,DEFAULT_APP= /framedemo,/设置项目名称/* 缓存设置 */关闭模板编译缓存,false表示每次都重新编译模板TMPL_CACHE_ON= false, ACTION_CACHE_ON = false, /默认关闭Action 缓存HTML_CACHE_ON = false, /默认关闭静态缓存HTML_CACHE_TIME = 60, /静态缓存有效期HTML_READ_TYPE = 0,/静态缓存读取方式 0 readfile 1 redirectHTML_FILE_SUFFIX = .shtml,/默认静态文件后缀/* 模版标签设置 */TMPL_L_DELIM= ,/模版中普通标签开始标记TMPL_R_DELIM= ,/模版中普通标签结束标记/* 错误设置 */错误显示信息,非调试模式有效ERROR_MESSAGE = 您浏览的页面暂时发生了错误!请稍后再试, ERROR_PAGE= ,/ 错误定向页面/* 网站设置 */SITE_TITLE = 标镜网,/网站title10、 隐藏入口文件假定原访问地址为:http:/localhost/logomirror/Home/index.php/User/showUser实现效果:http:/localhost/logomirror/Home/User/showUser即隐藏入口文件index.php。实现步骤:1、 修改Apache中的httpd.conf文件1) 、开启mod_rewrite.so 模块将LoadModule rewrite_module modules/mod_rewrite.so这句话前面的#去掉即可。2) 、修改AllowOverride属性找到类似于下面这句话,即apache服务器部署项目的根目录,这个标记里面有个AllowOverride属性,它的本来属性值是None,我们需要把它改为FileInfo Options。2、 添加.htaccess文件在入口文件的所在目录中,即与入口文件平级处,添加一个.htaccess文件,文件的内容为:Options +FollowSymLinksRewriteEngine onRewriteCond %REQUEST_FILENAME !-dRewriteCond %REQUEST_FILENAME !-fRewriteRule (.*)$ 入口文件名称/$1 QSA,PT,L注意:Windows环境中如果无法直接创建.htaccess文件,我们可以绕个弯路,先随便创建一个文本文件,然后另存为.htaccess类型即可,如下图:3、 更改url访问模式在config.php配置文件中,将URL_MODEL的值改为2,即REWRITE模式。至此,项目的入口文件成功隐藏。效果如下:11、 模版常用系统常量1、获取项目名称$Think.config.DEFAULT_APPDEFAULT_APP的内容由我们在config.php这个文件中事先配置。2、 获取当前访问的类名$Think.MODULE_NAME3、 获取当前访问的方法名$Think.ACTION_NAME4、获取入口文件的根目录名称$Think.APP_NAME5、 获取入口文件根目录的绝对路径$Think.APP_PATH12、 自定义错误页面1、404错误页面404表示请求的资源不存在,thinkphp框架通过在action中定义一个_empty方法来实现404错误页面的定制,该方法中只需要一个跳转语句就可以了,如下:header(Location:错误页面所在路径);注意:我们通常是在一个公共的action中定义_empty方法,其它
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客房清扫考试题及答案
- 2025年国能铜陵发电有限公司招聘考试试题(含答案)
- 2025年广州市从化区社区专职人员招聘考试笔试试题(含答案)
- 消毒技术基础知识参考题库(附答案)
- 2025年导游知识培训考试题附答案
- “消除艾梅乙母婴传播”知识测试卷附答案
- 营养与膳食知识练习题(附答案)
- 2025年G2电站锅炉司炉从业资格证安全技能知识考试题(附含答案)
- 2025年档案业务比赛理论考试题库及答案
- 2024年全国信息化技师知识考试题库(附含答案)
- 7-聊城东制梁场80t龙门吊安拆安全专项方案-八局一-新建郑州至济南铁路(山东段)工程ZJTLSG-2标段
- 证据目录范本
- 中兴 ZXNOE 9700 系统介绍
- 标准档案盒脊背(格式已设置好)
- GB/T 21475-2008造船指示灯颜色
- 有理数加减混合运算练习题300道-
- 园林绿化工高级技师知识考试题库(附含答案)
- 安医大生殖医学课件04胚胎的培养
- 提高肠镜患者肠道准备合格率课件
- 灭火器每月定期检查及记录(卡)表
- 关于推荐评审高级工程师专业技术职务的推荐意见报告
评论
0/150
提交评论