ThinkPHP 学习笔记 (一)

    今天开始记录本身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,建议默认


    若是设置了项目的分组模式,那么模板、模型均可以经过建立分组文件夹来进行分组管理。
    模型:能够经过$user = D('Admin.UserView');来加载 Lib/Model/Admin/UserViewmodel.class.php 文件。实际上 Model 下的目录跟项目分组没有必然的对应关系,使用 D('Test.UserView') 的时候,系统会自动对应 Lib/Model/Test/UserViewmodel.class.php 文件,而不关心 Test 是不是一个项目分组。

    模板输出:
    一、输出当前模块其余操做的模板 函数

$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、设置项目的

相关文章
相关标签/搜索