thinkPHP学习笔记[持续更新]

快捷方法:
A:快速实例化Action类库
B:执行行为类
C:配置参数存取方法
D:快速实例化Model类库
F:快速简单文本数据存取方法
L:语言参数存取方法
M:快速高性能实例化模型
R:快速远程调用Action类方法
S:快速缓存存取方法
U:URL动态生成和重定向方法
W:快速Widget输出方法

导入:
Vendor\Zend\Filter\Dir.php
Vendor('Zend.Filter.Dir');

lib\Think\Util\Session.class.php
import("Think.Util.Session");

MyApp项目下面的Lib\Action\UserAction.class.php
import("MyApp.Action.UserAction");

lib\当前项目\Action\UserAction.class.php
import("@.Action.UserAction");

ORG/User.Info.class.php
import("ORG.User#Info");

import('AdvModel');
如果有定义AdvModel别名,则import方法会自动加载定义的别名导入。系统默认的别名定义文件位于系统的Common\alias.php,每个模式和项目都可以定义自己的别名定义文件。

自动加载:__autoload()
系统自动加载ThinkPHP基类库和当前项目的model和Action对象,并且支持配置自动加载路径。APP_AUTOLOAD_PATH(common\convention.php)参数是用于设置框架的自动导入的搜索路径的,默认的配置是Think.Util.,因此才会实现自动导入Think.Util工具类库。例如,我们需要增加ORG.Util.路径作为类库搜索路径,可以使用:'APP_AUTOLOAD_PATH'=> 'Think.Util.,ORG.Util.。

建立新项目:
导入thinkPHP的目录里的ThinkPHP.php,然后执行app:run() ThinkPHP即可自动建立新项目的目录结构。

链接数据库:
$this->db = Db::getInstance(empty($this->connection)?'':$this->connection);

获得配置文件的参数值:
C('参数名称') // 获取已经设置的参数值

跨模块调用方法:
$User = A("User") ===== import("@.Action.UserAction");

R('User','importUser');// 远程调用UserAction控制器的importUser操作方法
A("User","App2"); // 实例化App2项目的UserAction控制器对象
R("User","importUser","App2");// 远程调用App2项目的UserAction控制器的importUser操作方法

跨项目调用模块:
$User = D('User', 'Admin'); // 实例化Admin项目下面的User模型
如果启用了模块分组功能,可使用:$User = D('Admin.User');

实例化模型:
 1、基础模型model类:$User = new Model('User'); || $User = M('User');
 2、其他模型类:$User = new CommonModel('User'); || $User = M('User', 'CommonModel');
 3、用户定义的模型类(项目\Lib\Model):$User = new UserModel(); || $User = D('User');
 4、实例化空模型类:$Model = new Model(); || $Model = M();
                    $Model->query('SELECT * FROM think_user where status=1');

系统配置:
惯例配置(common\convention.php) - 项目配置(项目\conf\config.php) - 调试配置(think\common\debug.php)
- 分组配置(项目\分组名\config.php) - 模块配置(项目\分组名\[模块名小写]_config.php) - 动态配置(具action里的配置)
有效性为:右 > 左