protected $autoCheckFields  =   false;//改为false就可以随便命名model的名字了

thinkphp框架
php版本要求:
PHP5.3以上版本(注意:PHP5.3dev版本和PHP6均不支持);

目录结构:

  1. www WEB部署目录(或者子目录)
  2. ├─index.php 入口文件
  3. ├─README.md README文件
  4. ├─Application 应用目录
  5. ├─Public 资源文件目录
  6. └─ThinkPHP 框架目录

其中框架目录ThinkPHP的结构如下

  1. ├─ThinkPHP 框架系统目录(可以部署在非web目录下面)
  2. ├─Common 核心公共函数目录
  3. ├─Conf 核心配置目录
  4. ├─Lang 核心语言包目录
  5. ├─Library 框架类库目录
  6. ├─Think 核心Think类库包目录
  7. ├─Behavior 行为类库目录
  8. ├─Org Org类库包目录
  9. ├─Vendor 第三方类库目录
  10. ├─ ... 更多类库目录
  11. ├─Mode 框架应用模式目录
  12. ├─Tpl 系统模板目录
  13. ├─LICENSE.txt 框架授权协议文件
  14. ├─logo.png 框架LOGO文件
  15. ├─README.txt 框架README文件
  16. └─index.php 框架入口文件

模块设计:

  1. Application 默认应用目录(可以设置)
  2. ├─Common 公共模块(不能直接访问)
  3. ├─Home 前台模块
  4. ├─Admin 后台模块
  5. ├─... 其他更多模块
  6. ├─Runtime 默认运行时目录(可以设置)

    每个模块是相对独立的,其目录结构如下:

    1. ├─Module 模块目录
    2. ├─Conf 配置文件目录
    3. ├─Common 公共函数目录
    4. ├─Controller 控制器目录
    5. ├─Model 模型目录
    6. ├─Logic 逻辑目录(可选)
    7. ├─Service Service目录(可选)
    8. ... 更多分层目录可选
    9. └─View 视图目录

控制器:

控制器类的命名方式是:控制器名(驼峰法,首字母大写)+Controller
控制器文件的命名方式是:类名+class.php(类文件后缀)

  1. namespace Home\Controller;
  2. use Think\Controller;
  3. class IndexController extends Controller {
  4. public function index(){
  5. echo 'hello,world!';
  6. }
  7. }

配置加载:

在ThinkPHP中,一般来说应用的配置文件是自动加载的,加载的顺序是:
惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展配置->动态配置

内置标签:

标签名 作用 包含属性
include 包含外部模板文件(闭合) file
import 导入资源文件(闭合 包括js css load别名) file,href,type,value,basepath
volist 循环数组数据输出 name,id,offset,length,key,mod
foreach 数组或对象遍历输出 name,item,key
for For循环数据输出 name,from,to,before,step
switch 分支判断输出 name
case 分支判断输出(必须和switch配套使用) value,break
default 默认情况输出(闭合 必须和switch配套使用)
compare 比较输出(包括eq neq lt gt egt elt heq nheq等别名) name,value,type
range 范围判断输出(包括in notin between notbetween别名) name,value,type
present 判断是否赋值 name
notpresent 判断是否尚未赋值 name
empty 判断数据是否为空 name
notempty 判断数据是否不为空 name
defined 判断常量是否定义 name
notdefined 判断常量是否未定义 name
define 常量定义(闭合) name,value
assign 变量赋值(闭合) name,value
if 条件判断输出 condition
elseif 条件判断输出(闭合 必须和if标签配套使用) condition
else 条件不成立输出(闭合 可用于其他标签)
php 使用php代码

常量参考:

预定义常量
  1. URL_COMMON 普通模式 URL 0
  2. URL_PATHINFO PATHINFO URL 1
  3. URL_REWRITE REWRITE URL 2
  4. URL_COMPAT 兼容模式 URL 3
  5. EXT 类库文件后缀(.class.php
  6. THINK_VERSION 框架版本号

路径常量:

  1. THINK_PATH 框架系统目录
  2. APP_PATH 应用目录(默认为入口文件所在目录)
  3. LIB_PATH 系统类库目录(默认为 THINK_PATH.'Library/'
  4. CORE_PATH 系统核心类库目录 (默认为 LIB_PATH.'Think/'
  5. MODE_PATH 系统应用模式目录 (默认为 THINK_PATH.'Mode/'
  6. BEHAVIOR_PATH 行为目录 (默认为 LIB_PATH.'Behavior/'
  7. COMMON_PATH 公共模块目录 (默认为 APP_PATH.'Common/'
  8. VENDOR_PATH 第三方类库目录(默认为 LIB_PATH.'Vendor/'
  9. RUNTIME_PATH 应用运行时目录(默认为 APP_PATH.'Runtime/'
  10. HTML_PATH 应用静态缓存目录(默认为 APP_PATH.'Html/'
  11. CONF_PATH 应用公共配置目录(默认为 COMMON_PATH.'Conf/'
  12. LANG_PATH 公共语言包目录 (默认为 COMMON_PATH.'Lang/'
  13. LOG_PATH 应用日志目录 (默认为 RUNTIME_PATH.'Logs/'
  14. CACHE_PATH 项目模板缓存目录(默认为 RUNTIME_PATH.'Cache/'
  15. TEMP_PATH 应用缓存目录(默认为 RUNTIME_PATH.'Temp/'
  16. DATA_PATH 应用数据目录 (默认为 RUNTIME_PATH.'Data/'

系统常量:

  1. IS_CGI 是否属于 CGI模式
  2. IS_WIN 是否属于Windows 环境
  3. IS_CLI 是否属于命令行模式
  4. __ROOT__ 网站根目录地址
  5. __APP__ 当前应用(入口文件)地址
  6. __MODULE__ 当前模块的URL地址
  7. __CONTROLLER__ 当前控制器的URL地址
  8. __ACTION__ 当前操作的URL地址
  9. __SELF__ 当前URL地址
  10. __INFO__ 当前的PATH_INFO字符串
  11. __EXT__ 当前URL地址的扩展名
  12. MODULE_NAME 当前模块名
  13. MODULE_PATH 当前模块路径
  14. CONTROLLER_NAME 当前控制器名
  15. ACTION_NAME 当前操作名
  16. APP_DEBUG 是否开启调试模式
  17. APP_MODE 当前应用模式名称
  18. APP_STATUS 当前应用状态
  19. STORAGE_TYPE 当前存储类型
  20. MODULE_PATHINFO_DEPR 模块的PATHINFO分割符
  21. MEMORY_LIMIT_ON 系统内存统计支持
  22. RUNTIME_FILE 项目编译缓存文件名
  23. THEME_NAME 当前主题名称
  24. THEME_PATH 当前模板主题路径
  25. LANG_SET 当前浏览器语言
  26. MAGIC_QUOTES_GPC MAGIC_QUOTES_GPC
  27. NOW_TIME 当前请求时间(时间戳)
  28. REQUEST_METHOD 当前请求类型
  29. IS_GET 当前是否GET请求
  30. IS_POST 当前是否POST请求
  31. IS_PUT 当前是否PUT请求
  32. IS_DELETE 当前是否DELETE请求
  33. IS_AJAX 当前是否AJAX请求
  34. BIND_MODULE 当前绑定的模块(3.2.1新增)
  35. BIND_CONTROLLER 当前绑定的控制器(3.2.1新增)
  36. BIND_ACTION 当前绑定的操作(3.2.1新增)

curd操作:

连贯操作 作用 支持的参数类型
where 用于查询或者更新条件的定义 字符串、数组和对象
table 用于定义要操作的数据表名称 字符串和数组
alias 用于给当前数据表定义别名 字符串
field 用于定义要查询的字段(支持字段排除) 字符串和数组
order 用于对结果排序 字符串和数组
group 用于对查询的group支持 字符串
having 用于对查询的having支持 字符串
join 用于对查询的join支持 字符串和数组
union 用于对查询的union支持 字符串、数组和对象
distinct 用于查询的distinct支持 布尔值
lock 用于数据库的锁机制 布尔值
cache 用于查询缓存 支持多个参数
relation 用于关联查询(需要关联模型支持) 字符串
result 用于返回数据转换 字符串
scope 用于命名范围 字符串、数组
bind 用于数据绑定操作 数组
comment 用于SQL注释 字符串

save();更新 add();添加; delete();删除;create();创建;

$Admin=M(‘admin’);  //数据表前缀在安装时已被写入配置文件  这里可省略
$Admin->select();

$Where[‘News_Title’]=array(‘like’,’%’.$key.’%’);

获取一条数据:find()
查询多条数据:select()
删除一条或多条数据:delete()
修改保存数据:save()
添加保存数据:add()
编译sql语句:$About->query($SQL);($SQL=’deletc from web_about where About_ID=”1″‘)

添加:$Data=array();
$Data[‘Admin_Name’]=’php’;
$Data[‘Admin_Pwd’]=’123456′;
$Data[‘Admin_Time’]=time();
$Admin->data($Data)->add();  或者  $Admin->add($Data);

更新:$Data=array();
$Data[‘Admin_Name’]=’php’;
$Data[‘Admin_Pwd’]=’123456′;
$Where=array();
$Where[‘Admin_ID’]=array(‘eq’,’8′);  或者  $Where[‘Admin_ID’]=8;
$Admin->data($Data)->where($Where)->save();

删除:$Where=array();
$Where[‘Admin_ID’]=array(‘eq’,’7′);
$Admin->where($Where)->delect();

config.php配置文件基础配置

  • return array(
  •     //’配置项’=>’配置值’
  •     ‘TMPL_L_DELIM’      =>  ‘{{‘,            // 模板引擎普通标签开始标记
  •     ‘TMPL_R_DELIM’      =>  ‘}}’,            // 模板引擎普通标签结束标记
  •     ‘TOKEN_ON’      =>    true,  // 是否开启令牌验证 默认关闭
  •     ‘TMPL_ACTION_ERROR’     =>  ‘Public/success’, // 默认错误跳转对应的模板文件
  •     ‘TMPL_ACTION_SUCCESS’   =>  ‘Public/success’, // 默认成功跳转对应的模板文件);
  •      ‘DB_FIELDS_CACHE’=>true,                    //数据库文件缓存
  •     ‘URL_HTML_SUFFIX’       =>  ‘html’,         // URL伪静态后缀设置
  •     ‘LOAD_EXT_FILE’         => ‘functions,common.config’,                // 动态载入
  •      ‘MODULE_ALLOW_LIST’    =>    array(‘Home’,’Admin’,’User’),//允许访问的模块
  •      ‘DB_PARAMS’=>array(‘PDO::ATTR_CASE’=>’PDO::CASE_NATURAL’),//把数据库字段原样输出

连接数据库:

<?php
return array(
//数据库配置信息
'DB_TYPE'   => 'mysql',
    // 数据库类型
    'DB_HOST'   => 'localhost',
    // 服务器地址
    'DB_NAME'   => 'thinkphp',
    // 数据库名
    'DB_USER'   => 'root',
    // 用户名
    'DB_PWD'    => 'root',
    // 密码
    'DB_PORT'   => 3306,
    // 端口
    'DB_PREFIX' => 'think_',
    // 数据库表前缀
    'DB_CHARSET'=> 'utf8',
    // 字符集
);