thinkphp3.2.2学习笔记

配置参数不区分大小写(因为无论大小写定义都会转换成小写)
需要注意的是,二级参数配置区分大小写,也就说读取确保和定义一致。
默认情况下,扩展配置文件中的设置参数会并入项目配置文件中。也就是默认都是一级配置参数


define('APP_DEBUG',True); //开启debug调试
define('APP_PATH','./Apps/'); /定义应用目录
define('RUNTIME_PATH','./Runtime/'); //设置运行时目录
define('DIR_SECURE_FILENAME', 'default.html'); //自动生成目录结构时默认空白文件(安全文件)
define('APP_PATH','./Application/'); //自动生成目录结构
define('BUILD_DIR_SECURE', false); //关闭安全文件生成
define('THINK_PATH',realpath('../Think').'/'); //调整了框架核心目录位置,需做如下修改
define('CONF_EXT','.ini'); //应用入口文件定义应用配置文件
define('APP_STATUS','office'); //动态加载配置文件
define('COMMON_PATH','./Common/'); //配置公共文件路径


'MODULE_DENY_LIST'      =>  array('Common','Runtime','Api') //设置禁止访问模块列表
'MODULE_ALLOW_LIST'    =>    array('Home','Admin','User') //允许访问的模块列表
'DEFAULT_MODULE'       =>    'Home' //默认模块列表
'URL_CASE_INSENSITIVE'  =>  true, //URL不区分大小写
'URL_PATHINFO_DEPR'=>'-', //更改pathinfo参数分隔符
'AUTOLOAD_NAMESPACE' => array('One' => THINK_PATH.'One',...) //注册命名空间
'URL_ROUTER_ON'   => true //开启路由
'ACTION_SUFFIX'         =>  'Action', // 操作方法后缀
'URL_PARAMS_BIND'       =>  true, // URL变量绑定到操作方法作为参数
'URL_PARAMS_BIND_TYPE'  =>  1, // 设置参数绑定按照变量顺序绑定
'URL_HTML_SUFFIX'=>'shtml|xml|html' //设置伪静态后缀
'URL_DENY_SUFFIX' => 'pdf|ico|png|gif|jpg', // URL禁止访问的后缀设置
'DEFAULT_AJAX_RETURN'=>'json', //ajaxReturn默认配置采用JSON格式返回数据
'TMPL_ACTION_ERROR' => THINK_PATH . 'Tpl/dispatch_jump.tpl', //默认错误跳转对应的模板文件
'TMPL_ACTION_SUCCESS' => THINK_PATH . 'Tpl/dispatch_jump.tpl', //默认成功跳转对应的模板文件
'DEFAULT_FILTER'        => 'strip_tags,htmlspecialchars' //系统默认过滤机制
'DEFAULT_C_LAYER'       =>  'Action', // 默认的控制器层名称
'DB_FIELDS_CACHE'=>false //关闭字段缓存
'DATA_CACHE_TIME'=>'缓存时间'
'DATA_CACHE_TYPE'=>'缓存类型'
'DEFAULT_M_LAYER'       =>  'Logic', // 默认的模型层名称
'DEFAULT_C_LAYER' => 'Controller', // 默认的控制层名称
'ERROR_PAGE' =>'/Public/error.html' //将所有异常错误指向统一页面
'LOG_RECORD' => true, // 开启日志记录
'LOG_LEVEL'  =>'EMERG,ALERT,CRIT,ERR', // 只记录EMERG ALERT CRIT ERR 错误
'LOG_TYPE'              =>  'File', // 日志记录类型 默认为文件方式
'SHOW_PAGE_TRACE' =>true, //显示调试信息页面右下角会显示ThinkPHP的LOGO 
'DATA_PATH' //缓存默认目录
'DB_SQL_BUILD_CACHE' => true, //开启SQL解析缓存
'DB_SQL_BUILD_QUEUE' => 'xcache', //SQL缓存方式
'DB_SQL_BUILD_LENGTH' => 20, //SQL缓存的队列长度








1.C方法
C('my_config',null,'default_config');//设置默认值
C('URL_MODEL');//读取配置
C('USER_CONFIG.USER_TYPE');//读取二维数组
C('DATA_CACHE_TIME',60);//动态配置


2.A方法
//实例化User控制器,第一个参数为控制器名(跨模块需指定路径),第二个参数指定控制器类型,默认为Controller
A('User','Event'); 


3.U方法
U('地址表达式',['参数'],['伪静态后缀'],['显示域名']) //生成URL地址


4.I方法
I('变量类型.变量名',['默认值'],['过滤方法'],['额外数据源'])


5.E方法
E($msg);输出错误信息,并中止执行


6.F方法
F('data',$Data,TEMP_PATH); //快速缓存数据并保存到指定目录


7.S方法
$cache = S(array('type'=>'xcache','prefix'=>'think','expire'=>600));// 初始化缓存
$cache->name = 'value'; // 设置缓存
$value = $cache->name; // 获取缓存
unset($cache->name); // 删除缓存








跳转函数
$this->success('操作完成','/Article/index',3);//1.提示信息,2.跳转地址,3.跳转延迟时间
$this->error('操作失败','/Article/error',5);
$this->redirect('New/category', array('cate_id' => 2), 5, '页面跳转中...'); //重定向到某一个操作
redirect('/New/category/cate_id/2', 5, '页面跳转中...') //重定向到指定页面










模板和视图没看,静态缓存,行为扩展,数据分页


闭包函数?


namespace Home\Controller;//命名空间
use Think\Controller;
访问控制器的名称是通过DEFAULT_C_LAYER设置的,默认是Controller




模型分层
数据层:Home\Model\UserModel 用于定义数据相关的自动验证和自动完成和数据存取接口 
逻辑层:Home\Logic\UserLogic 用于定义用户相关的业务逻辑 
服务层:Home\Service\UserService 用于定义用户相关的服务接口等 








其他:
IS_POST 判断是否是POST方式提交 
public function _empty($name){...} //空操作
class EmptyAction extends Controller{...} //空控制器
UserTypeModel 对应数据表为  think_user_type (think为表前缀) 
$user->field('user.name,role.title')
->table(array('think_user'=>'user','think_role'=>'role')) //数据库多表操作
result = $Model->cache('key',60)->find();$data = S('key');
protected $_scope = array() //命名范围
protected $_map = array() //字段映射
protected $_validate = array() //自动验证
protected $_auto = array () //自动完成
$map['name|title'] = 'thinkphp' //name= 'thinkphp' OR title = 'thinkphp'






函数:
$fields = $User->getDbFields(); //获取全部字段信息
$User->getField('id',true); // 获取id数组
$User-> where('id=5')->setField($data); //更新一个或多个字段
$User->where('id=5')->setDec('score',5); // 用户的积分减5(数字类型的更新)
$User->where('id=5')->setInc('score',3); // 用户的积分加3
$User->validate($rules)->create() //动态验证
$User->auto($rules)->create()->add(); //动态完成
$User->getLastSql(); //获取上一条sql语句(调试模式使用)










Think\Log::record('测试日志信息,这是警告级别','WARN');
Log::record() 记录日志信息到内存 
Log::save() 把保存在内存中的日志信息(用指定的记录方式)写入 
Log::write() 实时写入一条日志信息 






模板中使用session


1.在模板中直接调用{$Think.session}获取session;


2.在<php></php>标签直接编写php代码来调用$_SESSION数据;


3.在模板中写<?php  ?>,然后在里面直接编写php代码来调用$_SESSION;


4.在Action中将$_SESSION变量通过assign()方法赋值给模板;


5.在自定义函数库中,新建一个函数用来返回$_SESSION变量,然后在模板文件中使用{$变量命 | 函数名}来将函数返回的$_SESSION赋给模板中的一个变量
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值