个人还是蛮喜欢tp的比其他的php框架轻(只接触过drupal、tp),而且上手容易(struts这种action的方式,对于java程序员来说)。目录结构也比较简单易懂,提供的一些函数也比较实用。对初学者来说还是蛮容易的,只是有点反感文件命名XXXX.class.php,感觉有点像是在宣誓作者是java从业者一样。默认的thinkphp模板引擎也还不错,感觉比drupal的theme函数要容易上手。

关键目录说明

/index.php 入口文件,自定义的常量可以在这里进行定义。

/ThinkPHP 目录为tp的核心目录,里面包括lib,mode,lang,conf,common等目录,配置,模板处理等等相关的函数都在该目录。

/Application 应用目录,自己的应用目录,Common/Common/function.php公共函数定义文件,Common/Conf/conf.php应用配置文件(变量参考核心目录的conf/convention.php),

Runtime 运行时目录,会生成相应的运行时文件,有些错误可以通过查看对应的运行时文件寻找。

e.g入口文件index.php

// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
//define('APP_DEBUG',True); // 定义应用目录
define('APP_PATH','./Application/'); header("content-type:text/html;charset=utf-8"); /***此处代码为自定义的一些常量 begin***/
define('WEB_PATH','/');//站点路径
define('WEB_NAME','文件管理系统');//站点名称
define('SOURCE_PATH','/resource/');//资料路径
define('SOURCE_CSS_PATH',SOURCE_PATH.'css/');//css路径
define('SOURCE_JS_PATH',SOURCE_PATH.'js/');//js路径
define('SOURCE_IMG_PATH',SOURCE_PATH.'images/');//图片路径
define('UPLOAD_ROOT', 'Upload');//根目录文件名
define('UPLOAD_ROOT_PATH','E:/var/www.tp.com/'.UPLOAD_ROOT);//文件创建路径
define('PAGE_SIZE', 13);//分页设置

e.g应用配置文件

//'配置项'=>'配置值'
    //使用url重写模式
    'URL_MODEL'             =>  2,     //开启页面trace
    'SHOW_PAGE_TRACE'         => false,     /* 数据库设置 */
    'DB_TYPE'               =>  'mysql',     // 数据库类型
    'DB_HOST'               =>  'localhost', // 服务器地址
    'DB_NAME'               =>  'filesystem',          // 数据库名
    'DB_USER'               =>  'root',      // 用户名
    'DB_PWD'                =>  '',          // 密码
    'DB_PORT'               =>  '3306',        // 端口
    'DB_PREFIX'             =>  'fs_',    // 数据库表前缀
    'DB_PARAMS'               =>  array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL), // 数据库连接参数    
    'DB_DEBUG'              =>  TRUE, // 数据库调试模式 开启后可以记录SQL日志
    'DB_FIELDS_CACHE'       =>  false,        // 启用字段缓存
    'DB_CHARSET'            =>  'utf8',      // 数据库编码默认采用utf8
    'DB_DEPLOY_TYPE'        =>  0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'DB_RW_SEPARATE'        =>  false,       // 数据库读写是否分离 主从式有效
    'DB_MASTER_NUM'         =>  1, // 读写分离后 主服务器数量
    'DB_SLAVE_NO'           =>  '', // 指定从服务器序号     /* SESSION设置 */
    'SESSION_AUTO_START'    =>  true,    // 是否自动开启Session
    'SESSION_OPTIONS'       =>  array('name'                =>  'session',                       //设置session名
                                      'expire'              =>  3600*2,                          //SESSION保存2小时
                                      'use_trans_sid'       =>  1,                               //跨页传递
                                      'use_only_cookies'    =>  0,                               //是否只开启基于cookies的session的会话方式
                                    ), // session 配置数组 支持type name id path expire domain 等参数
    'SESSION_TYPE'          =>  '', // session hander类型 默认无需设置 除非扩展了session hander驱动
    'SESSION_PREFIX'        =>  '', // session 前缀     'TMPL_CACHE_ON'         => false,  // 默认开启模板编译缓存 false 的话每次都重新编译模板
    'ACTION_CACHE_ON'       => false,  // 默认关闭Action 缓存

ThinkPHP 3.2.3心得的更多相关文章

  1. ThinkPHP使用方法与心得

    ThinkPHP相信PHP程序员对它并不陌生,通过自己的学习在此发表个人看法,也为以后自己查找ThinkPHP方面的知识更加方便. 一.mvc及数据库CURD操作流程: 1.新建数据库:数据库名称:1 ...

  2. ThinkPhp 源码阅读心得

    php 中header 函数 我可能见多了,只要用来跳转.今天在阅读TP源码的时候发现,header函数有第三个参数.有些困惑所以找到手册查阅下,发现 void header ( string $st ...

  3. thinkphp框架使用心得

    接触的第一个PHP框架就是TP,在使用的了一段时间后就放弃了,说实话TP的弊端挺多,之后又接触laravel框架,慢慢的就爱上laravel这个框架了.这段时间由于公司的原因,又不得不使用thinkp ...

  4. thinkphp新的心得

    1,代码的高度复用 1,js的删除,弹出框都可以用嵌入的js,不用每个页面都写 2,控制器的初始化函数可以实现配置某些变量,比如admin模块的topic控制器的初始化函数可以 $this->o ...

  5. (转)ThinkPHP使用心得分享-分页类Page的用法

    转之--http://www.jb51.net/article/50138.htm ThinkPHP中的Page类在ThinkPHP/Extend/Library/ORG/Util/Page.clas ...

  6. Yii和ThinkPHP对比心得

    本人小菜鸟一只,为了自我学习和交流PHP(jquery,linux,lamp,shell,javascript,服务器)等一系列的知识,小菜鸟创建了一个群.希望光临本博客的人可以进来交流.寻求共同发展 ...

  7. thinkphp中field方法

    hinkPHP的CURD操作中有很多非常实用的方法,从这篇开始,我们会为大家一一介绍. 首先为大家介绍下field方法的用法.field属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段, ...

  8. 转载--thinkphp框架的路径问题 - 总结

    转自:http://blog.sina.com.cn/s/blog_827ddd950100ulyv.html TP中有不少路径的便捷使用方法,比如模板中使用的__URL__,__ACTION__等, ...

  9. ThinkPHP CURD方法盘点:field方法

    ThinkPHP的CURD操作中有很多非常实用的方法,从这篇开始,我们会为大家一一介绍. 首先为大家介绍下field方法的用法.field属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段 ...

随机推荐

  1. bzoj 3109: [cqoi2013]新数独

    #include<cstdio> #include<iostream> using namespace std; ][],li[][],xi[][],a[][],bh[][], ...

  2. C#之延迟加载

    延迟加载,亦称延迟实例化,延迟初始化等,主要表达的思想是,把对象的创建将会延迟到使用时创建,而不是在对象实例化时创建对象,即用时才加载.这种方式有助于提高于应用程序的性能,避免浪费计算,节省内存的使用 ...

  3. qq快速聊天

    和女朋友聊天的时候,每次发完消息我都习惯性把聊天界面关了,或者我想找女朋友聊天了,又要打开主界面再打开聊天窗口 每次感觉特别麻烦.所以我在想有没有一个好的办法直接打开聊天窗口的.刚好这两天又在写jav ...

  4. CircleImageView

    package com.cainiao5.cainiaoheadimg; import android.content.Context;import android.content.res.Typed ...

  5. iOS6的旋屏控制技巧

    在iOS5.1 和 之前的版本中, 我们通常利用 shouldAutorotateToInterfaceOrientation: 来单独控制某个UIViewController的旋屏方向支持,比如: ...

  6. OrCAD搭建Access数据库

    刚进入到一个小公司,接到的第一个电路设计的案子是从零开始的,辛苦就不说,关键是这么不严谨,容易出错,于是乎,问题来了,能否从零开始着手建立个类似于以前公司的数据库,管理原理图封装,PCB封装及规格书! ...

  7. 初用Ubuntu常见问题及解决方案之一

    1.我的Vaio Fit15e的无线网卡是BCM43142,装了Ubuntu后为了装驱动折腾了好久,因为这款网卡在Broadcom官网都找不到驱动,google了一大圈,一个最简单的命令可以解决这个问 ...

  8. Matcher.group

    Exception in thread "main" java.lang.IllegalStateException: No match found at java.util.re ...

  9. 运用Fluxion高效破解WiFi密码

    Fluxion是一个无线破解工具,这个工具有点像是Linset的翻版.但是与Linset比较起来,它有着更多有趣的功能.目前这个工具在Kali Linux上可以完美运行. 工作原理 1.扫描能够接收到 ...

  10. 详解Android功耗分析工具Power Tutor的使用

    简介: PowerTutor 是由美国密歇根大学在谷歌的指导下开发的.它是用来展示google智能手机中主要组件或应用功耗的一种应用程序.例如,CPU,网络链接,LCD显示屏,GPS等.它允许开发者很 ...