2012年09月26日
Thinkphp 里一些常用方法和技巧的整理,包括常用的快捷键以及在程序开发时用到的一些实用方法,关于快捷键用得不是很熟练,总之,掌握这些方法和技巧,对于我们开发 thinkphp 网站有很大的一个帮助,尤其对于懒人来说,在编写程序时最怕的就是重写源码,而对于这些实用的源码我们可以直接粘来,非常实用。
这是使用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里的配置)
有效性为:右 > 左