收藏 分销(赏)

ThinkPHP入门文档1.doc

上传人:xrp****65 文档编号:7047211 上传时间:2024-12-25 格式:DOC 页数:8 大小:116.13KB
下载 相关 举报
ThinkPHP入门文档1.doc_第1页
第1页 / 共8页
ThinkPHP入门文档1.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述
ThinkPHP入门文档 一、 下载与安装 1、从ThinkPHP官网上下载一个相对稳定的版本,这里推荐3.0版本。 2、下载后的压缩包中有个ThinkPHP文件夹,我们要做的就是把这个文件夹直接拷贝 到自己项目的根目录下。 3、 创建入口文件 通常一个网站项目都会分为前台与后台两个部分,所以这里我们需要创建2个入口 文件,但在此之前,我们要建立好目录。在项目根目录下分别创建以下目录: Admin 存放所有后台文件 Home 存放所有前台文件 Public 存放所有公共资源 Upload 存放用户上传的资源 下面开始正式创建入口文件了,入口文件的意思就是,所有的操作必须基于这个文件。首先,我们在Home目录中,新建一个index.php文件来作为网站前台的入口文件,这个文件中只需包含下面的代码(红框部分)就行了。 然后可以试着运行下这个文件,在浏览器中输入 http://localhost/framedemo/Home/index.php 如果能看到下面的结果,就表示入口文件创建成功了。 这里要注意下,thinkphp在创建入口文件的过程中,同时也会在我们的项目中自动生成一些目录,它的目录结构如下: Admin中入口文件的创建与此类似,这里不再赘述。 二、 代码编写 Thinkphp中数据的展示将不再放在php中,而是由html模版代替。所以Thinkphp中代码的编写主要基于两种文件,一种是html类型的模版文件,一种是php类型的后台处理文件,这点跟Struts框架很类似,html模版文件相当于jsp,而php则相当于action。另外,还有一个地方也需要格外注意,就是文件的命名。下面通过表格来看下两种文件的命名方式。 php文件 html模版文件 文件名 类名+Action php类中的方法名 后缀名 .class.php .html 所在目录 /Lib/Action /Tpl/default/php类名 上面这种命名方式与Struts2.x的动态配置也如出一辙,都秉承了一个重要的原则,即"约定大于编码"。 注意:所有的控制器必须继承Action类,该类位于/ThinkPHP/Lib/Core/目录下 三、 导入第三方类库 thinkphp框架中,导入类库有两种方式,import和vendor。 他们的区别如下: import:主要导入以.class.php结尾的类库和文件 vendor:默认的导入路径为 ThinkPHP系统目录/Vendor 目录,默认后缀为.php 。 为了引用上的方便,我们通常将第三方类库统一放在ThinkPHP系统目录/Vendor 下面,然后通过下面的方式来导入: vendor("目录名.文件名"); 注意:这里的文件名不用包含后缀,如果文件名去除后缀后还包含了.号,则点号可以用#号来代替。 四、 传递参数 在类名/方法名的后面直接带上参数值即可,不用写参数名,格式如下: 类名/方法名/参数1/参数2/… 多个参数之间默认以/来分隔,分隔符在配置文件中可以更改。 五、 获取url参数 1、 获取get方式参数 $_GET["_URL_"][下标]; 这里的下标通常从2开始,0 表示类名,1 表示类中的方法名。 2、 获取post方式参数 $_POST["表单中的元素名称"]; 六、 页面跳转 1、redirect方式 redirect($class,$method,$params=array(),$delay=0,$msg="") 参数含义如下: $class :类名 $method :方法名 $params :参数 $delay :延时,单位秒 $msg :跳转过程中的提示信息 七、 将信息输出到模版 php的action中向模版输出信息可以通过下面这种方式: 1、设置模版变量 $this->assign($result, $list); $result : 模版变量名 $list : 数据 这种方式与java中的的request.setAttribute(key,value);非常类似。 但是也有个区别,注意这里的$result参数,它既可以是一个字符串变量,也可以是一个数组变量,如果是数组变量,则无须传入第二个参数。示例如下: //采用数组方式输出多个变量 $tplArray = array(); $tplArray[$result] = $list; $tplArray["pageStr"] = $pageStr; $this->assign($tplArray); 2、 输出 $this->display(); 八、 模版中获取后台数据 1、字符串型数据 {$模版变量名称} 2、 数组型数据 <volist name="模版变量名称" id="循环变量" offset="输出数据的起始位置,默认0" length="输出多少行数据" key="循环索引,默认i" empty="数据为空时显示的信息"> {$循环变量.字段名称} </volist> 3、 判断模版变量是否为空 <empty name="模版变量名称">为空</empty> <notempty name="模版变量名称">不为空</notempty> 与else合并用法 <empty name="模版变量名称">为空<else/>不为空</empty> 4、条件判断之if <if condition="具体条件"> <elseif condition="具体条件"/> <else/> </if> 5、条件判断之switch <switch name="模版变量名称"> <case value="变量值,多个值之间用|分隔" break="是否退出,默认1"> 输出内容 </case> <default/>默认情况 </switch> 6、日期格式化 {$日期变量|date="Y-m-d H:i:s",###} 7、数值格式化 {$数值|number_format=小数位数} 8、在模版中定义变量 <assign name="变量名" value="值" /> 9、变量比较 在thinkphp框架中,if和eq都可以用于变量的比较。 区别在于: if标签仅用于单个变量和一个常量的比较,而eq标签不仅可以比较单个变量和一个常量,还可以比较两个变量,这点请切记! 示例: 比较单个变量 <if condition="$dir.goods_dir_id eq 10000"> </if> 比较两个变量 <eq name="dirChild.dir_pid" value="$dir.goods_dir_id"> </eq> 注意点:name属性里不用加$符号,而value属性需要加上$符号。 10、导入模版文件 Thinkphp模版中通过<include>标签来导入模版文件,示例: <include file="类名:方法名" /> 如果导入的模版文件与主文件属于同一个模块,则file属性中的类名与冒号可以省略。 注意点:如果被导入的模版中仅仅是包含了一些静态信息,那么通过上面这一步,模版中的内容应该就可以成功载入了,但是,很多情况下,被导入的模版包含的信息是动态的,这个时候,我们需要在后台为导入的模版提供相关数据,方式如下: R("类名/方法名",参数); 这个方法的意思就是,在本类中调用其它类中的方法。 11、模版中获取session {$_SESSION.session名称} 九、 基础配置 在入口文件所在目录中,有一个Conf目录,该目录下有个config.php文件,用户自定义的配置都写在该文件中。 /* 数据库配置 */ "DB_TYPE" => "mysql", //使用的数据库类型 "DB_HOST" => "192.168.1.111", //数据库主机 "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 redirect "HTML_FILE_SUFFIX" => ".shtml", //默认静态文件后缀 /* 模版标签设置 */ "TMPL_L_DELIM" => "{", //模版中普通标签开始标记 "TMPL_R_DELIM" => "}", //模版中普通标签结束标记 /* 错误设置 */ //错误显示信息,非调试模式有效 "ERROR_MESSAGE" => "您浏览的页面暂时发生了错误!请稍后再试~", "ERROR_PAGE" => "", // 错误定向页面 /* 网站设置 */ "SITE_TITLE" => '标镜网',//网站title 十、 隐藏入口文件 假定原访问地址为: 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属性 找到类似于下面这句话, <Directory "D:/phpplatform/Apache Software/Apache2.2/htdocs"> 即apache服务器部署项目的根目录,这个标记里面有个AllowOverride 属性,它的本来属性值是None,我们需要把它改为FileInfo Options。 2、 添加.htaccess文件 在入口文件的所在目录中,即与入口文件平级处,添加一个.htaccess文件,文件的内容为: Options +FollowSymLinks <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ 入口文件名称/$1 [QSA,PT,L] </IfModule> 注意: Windows环境中如果无法直接创建.htaccess文件,我们可以绕个弯路,先随便创建一个文本文件,然后另存为.htaccess类型即可,如下图: 3、 更改url访问模式 在config.php配置文件中,将URL_MODEL的值改为2,即REWRITE模式。 至此,项目的入口文件成功隐藏。效果如下: 十一、 模版常用系统常量 1、获取项目名称 {$Think.config.DEFAULT_APP} DEFAULT_APP的内容由我们在config.php这个文件中事先配置。 2、 获取当前访问的类名 {$Think.MODULE_NAME} 3、 获取当前访问的方法名 {$Think.ACTION_NAME} 4、获取入口文件的根目录名称 {$Think.APP_NAME} 5、 获取入口文件根目录的绝对路径 {$Think.APP_PATH} 十二、 自定义错误页面 1、404错误页面 404表示请求的资源不存在,thinkphp框架通过在action中定义一个_empty方法来实现404错误页面的定制,该方法中只需要一个跳转语句就可以了,如下: header("Location:错误页面所在路径"); 注意:我们通常是在一个公共的action中定义_empty方法,其它action只要继承这个公共的action就可以了。 2、500及其它错误页面 500表示服务器内部产生了错误,再通俗一点讲就是,程序错误。 要想定制500错误页面,我们需要修改config.php这个配置文件,在这个文件中加入下面这句话: "ERROR_PAGE" => "错误页面所在路径" 路径最好用绝对路径。 这样,当我们的程序发生错误时,系统就会自动跳转到我们自定义的页面。但是有个前提,就是必须关闭调试模式,否则无法实现上面的效果。 define("APP_DEBUG",false);
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服