本人第一次发博客,是为了敦促自己的学习和分享自己的经验,希望大家指出本人的不足与错误。
一、 thinkphp 实例化类(学习手册:thinphp3.2完全开发手册)
1.实例化控制器(控制器/控制器定义)
// 实例化Home模块的User控制器
$User = new \Home\Controller\UserController();
// 实例化Admin模块的Blog控制器
$Blog = new \Admin\Controller\BlogController();
或
// 假设当前模块是Home模块
$User = A('User');
$Blog = A('Admin/Blog');
2.实现类的自动加载和实例化(架构/命名空间)
$class = new \Org\Util\File();
系统会自动加载 ThinkPHP/Library/Org/Util/File.class.php 文件。
//Org就是一个根命名空间,其对应的初始命名空间目录就是系统的类
//库目录(ThinkPHP/Library),Library目录下面的子目录会自动识别为根命名空间
3.手动导入第三方类库并实例化(架构/自动加载)
// 导入Org类库包 Library/Org/Util/Date.class.php类库
import("Org.Util.Date");
$date=new \Date();
// 导入Home模块下面的 Application/Home/Util/UserUtil.class.php类库
import("Home.Util.UserUtil");
$date= new \UserUtil();
// 导入当前模块下面的类库
import("@.Util.Array");
// 导入Vendor类库包 Library/Vendor/Zend/Server.class.php
import('Vendor.Zend.Server');
4.实例化模型(模型/模型实例化)
a.直接实例化
$User = new \Home\Model\UserModel();
b.D方法实例化
$User = D('User');
// 相当于 $User = new \Home\Model\UserModel();
// 执行具体的数据操作
$User->select();
//实例化Admin模块的User模型
D('Admin/User');
c.M方法实例化模型
c1.$User = M('User');
// 和用法 $User = new \Think\Model('User'); 等效
// 执行其他的数据操作
$User->select();
c2. // 使用M方法实例化 操作db_name数据库的ot_user表
$User = M('db_name.User','ot_');
// 执行其他的数据操作
$User->select();