ThinkPHP文件结构说明:
|——ThinkPHP.php 框架入口文件
|——Common 框架公共文件目录
|——Conf 框架配置文件目录
|——Extend 框架扩展目录
|——Lang 核心语言包目录
|——Lib 核心库目录
| |——Behavior 核心行为类库
| |——Core 核心基类库
| |——Driver 内置驱动
| | |——Cache 内置缓存驱动
| | |——Db 内置数据库驱动
| | |——TagLib 内置标签驱动
| | |——Template 内置模板引擎驱动
| |——Template 内置模板引擎
|——Tpl 系统模板目录
注意:如果下载的版本是核心版本,Extend目录有可能是空的,因为ThinkPHP本身不依赖任何扩展。
创建项目 :(以下文件皆以此为基础)
a.在项目根目录新建index.php
<?php define('APP_NAME', 'tpapp'); //定义项目名称 define('APP_PATH', './app/'); //定义项目路径(相对路径) define('APP_DEBUG', 'true'); //开启调试模式 require './tp/ThinkPHP.php'; //加载thinkphp框架(相对路径) ?>
b.运行index.php文件,自动创建的目录结构如下:
|——tp ThinkPHP的目录结构
|——index.php 项目的入口文件
|—— app 自动创建的目录接口
| |——Common 项目公共文件目录
| |——Conf 项目配置文件目录
| |——Lang 项目语言包目录
| |——Lib 项目类库目录
| | |——Action Action类库目录
| | |——Behvior 行为类库目录
| | |——Model 模型类库目录
| | |——Widget Widget类库目录
| |——Runtime 项目运行时目录
| | |——Cache 模板缓存目录
| | |——Data 数据缓存目录
| | |——Logs 日志缓存目录
| | |——Temp 临时缓存目录
| |——Tpl 项目模板目录
c.数据库连接配置文件:app/Conf/config.php
<?php return array( //'配置项'=>'配置值' // 添加数据库配置信息 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'tpapp', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => '', // 密码 'DB_PORT' => 3306, // 端口 'DB_PREFIX' => 'tp_', // 数据库表前缀 );
?>
d.实例化数据库连接类并查询数据库:
<?php $data = M('test'); //实例化数据库连接类,test为表名(若在配置文件中定义表前缀,在此处忽略表前缀名称) $this->data = $data->select(); ?>
一些重要基础知识:
- 类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如DbMysql.class.php;
- 确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);
- 类名和文件名一致(包括上面说的大小写一致),例如 UserAction类的文件命名是UserAction.class.php, InfoModel类的文件名是InfoModel.class.php, 并且不同的类库的类命名有一定的规范;
- 函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求);
- 函数的命名使用小写字母和下划线的方式,例如 get_client_ip;
- 方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 getUserName,_parseType,通常下划线开头的方法属于私有方法;
- 属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 tableName、_instance,通常下划线开头的属性属于私有属性;
- 以双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;
- 常量以大写字母和下划线命名,例如 HAS_ONE和 MANY_TO_MANY;
- 配置参数以大写字母和下划线命名,例如HTML_CACHE_ON;
- 语言变量以大写字母和下划线命名,例如MY_LANG,以下划线打头的语言变量通常用于系统语言变量,例如 _CLASS_NOT_EXIST_;
- 对变量的命名没有强制的规范,可以根据团队规范来进行;
- ThinkPHP的模板文件默认是以.html 为后缀(可以通过配置修改);
- 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,类似 _username 这样的数据表字段可能会被过滤。
FROM : http://www.cnblogs.com/peng14/archive/2012/12/11/2813279.html
http://www.cnblogs.com/renxuefei/archive/2012/10/22/2734585.html