今天开始记录本身thinkphp的学习过程 php
首先学习是经过http://www.5idev.com/p-thinkphp_intro.shtml网站来学习的,这里的教程很清晰明了,因此我这里只是记录本身之后可能用到或者容易忘记的内容。接下来就开始了: html
1、开发的第一步,配置咱们的入口文件 thinkphp
首先咱们要设置咱们本身的入口配置文件。在thinkphp中,项目只有一个入口,也就是thinkphp包外面的index.php文件,在理面咱们要这是一下咱们项目的路径以及一些配置信息。在入口文件中,定义了项目名称及路径、是否开启调试模式、加载框架入口文件 ThinkPHP.php。 数据库
<?php //入口文件 //定义项目名称和路径 define('APP_NAME', 'myapp'); define('APP_PATH', './myapp/'); //开启调试模式 define('APP_DEBUG',true); // 加载框架入口文件 require("./ThinkPHP/ThinkPHP.php"); ?>2、配置项目所须要的常量
ThinkPHP提供了灵活的配置功能,采用最有效率的 PHP 返回数组方式定义方式。系统支持惯例配置、项目配置、分组配置、调试配置和动态配置等 5 种配置模式。
以上各类配置模式,采用了分层模式,层次体如今:惯例配置->项目配置->调试配置->分组配置->扩展配置->动态配置。这个层次的意思是,后面配置的选项会覆盖前面同名的配置选项,即优先顺序从右到左。
惯性配置:就是咱们thinkphp包中的conf文件夹下面的convention.php文件,它定义了系统所须要的大多数参数。
项目配置:也就是咱们项目所在的app文件夹下面的Conf/config.php文件,他将会覆盖惯性配置中重复的参数。
调试配置:路径位于Conf/debug.php。首先咱们先须要打开调试define("APP_DEBUG",true);这时咱们能够把咱们调试时候用的配置写进去,好比数据库链接的配置配成本地的。 数组
分组配置:好比咱们在项目中设置了分组模式Home,这是分组配置的路径是Conf/Home/config.php 缓存
扩展配置:配置扩展配置须要如今项目配置中设置 app
'LOAD_EXT_CONFIG'=>'user',//设置Conf/user.php // 还能够定义多个扩展配置文件 'LOAD_EXT_CONFIG'=>'user,db',
项目配置文件在部署模式的时候会归入编译缓存,也就是说编译后再修改项目配置文件就不会马上生效,须要删除编译缓存后才能生效。扩展配置文件则不受此限制影响,即便在部署模式下面,修改配置后也能够实时生效。基于扩展配置的以上特性,一般扩展配置是为了某些特殊的须要,而从项目配置里面分离出来的一些配置信息,这样的目的是为了便于维护和管理。 框架
3、设置项目的分组配置
http://www.5idev.com/p-thinkphp_group_config.shtml
在系统配置文件(Config/config.php)里面进行简单的项目分组配置便可开启项目分组。设置APP_GROUP_LIST参数便可开启分组配置。
与项目分组模式有关的配置有五个: ide
配置选项 | 说明 | 例子或建议 |
---|---|---|
APP_GROUP_LIST | 项目分组全部名称列表,若不设置则表示不启用项目分组模式 | 'APP_GROUP_LIST'=>'Home,Admin,User,Blog', |
DEFAULT_GROUP | 默认的项目分组名称,系统默认是 Home | 'DEFAULT_GROUP' =>'Home', |
APP_GROUP_DEPR | 项目分组之间的分割符,默认是 . (点),用于 A函数 D函数 和 路由配置中的分隔 | 建议默认 |
TMPL_FILE_DEPR | 模板文件中模块与操做之间的分割符,默认是 / ,只对项目分组部署有效 | 建议默认,可以使用 U 方法自动生成 URL |
VAR_GROUP | 获取项目分组名称的变量,默认是 g | index.php?g=Admin&m=Index&a=edit,建议默认 |
模板输出:
一、输出当前模块其余操做的模板 函数
$this->display('操做名');二、输出当前分组项目其余模块及操做的模板
$this->display('模块名:操做名'); // 或者: $this->display('模块名/操做名'); // 例子: $this->display('Article/add');三、输出其余分组项目模板
$this->display('分组名:模块名:操做名'); // 或者: $this->display('分组名:模块名/操做名'); // 例子: $this->display('Home:Article/read');
项目分组中的U方法生成URL:
U('分组名-模块/操做?参数')例子:
<a href="{:U('Blog-Article/read?id=12345')}" target="_blank">点击查看该文详情</a>结果: http://www.5idev.com/Blog/Article/read/id/12345.shtml
4、设置项目的模板
能够再项目配置中设置'TMPL_TEMPLATE_SUFFIX'=>'.php'来改变模板的后缀。若是开启分组的话,须要在tpl文件夹下建立分组文件夹/控制器文件夹/action文件。例如./Tpl/Home/Index/index.php
在模板中使用引用其余模板的方法:
<include file="Oauth:index" />//比如是在Home分组,应用的文件的路径是/Tpl/Home/Oauth/index.php
5、设置项目的