thinkPHP学习笔记

thinkPHP学习笔记

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

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 = c a c h e − > n a m e ; / / 获 取 缓 存 u n s e t ( cache->name; // 获取缓存 unset( 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 = M o d e l − > c a c h e ( ′ k e y ′ , 60 ) − > f i n d ( ) ; Model->cache('key',60)->find(); 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数组
U s e r − > w h e r e ( ′ i d = 5 ′ ) − > s e t F i e l d ( User-> where('id=5')->setField( User>where(id=5)>setField(data); //更新一个或多个字段
$User->where(‘id=5’)->setDec(‘score’,5); // 用户的积分减5(数字类型的更新)
$User->where(‘id=5’)->setInc(‘score’,3); // 用户的积分加3
U s e r − > v a l i d a t e ( User->validate( User>validate(rules)->create() //动态验证
U s e r − > a u t o ( User->auto( 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代码来调用$_SESSION数据;

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

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

5.在自定义函数库中,新建一个函数用来返回KaTeX parse error: Expected '}', got 'EOF' at end of input: …N变量,然后在模板文件中使用{变量命 | 函数名}来将函数返回的$_SESSION赋给模板中的一个变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值