Thinkphp的A,R,M,D方法区别
在Thinkphp中,实例化对象有这么几种方法,如果是类,有A和R方法,区别是A方法只是对象的实例化,而R方法是可以同时实例化对象里面的方法的,这里需要去指定,如下面的实例代码:
<!--?php
namespace Admin\Controller;
use Think\Controller;
class GoodsController extends Controller{
public function showlist(){
//实例化控制器A方法
$test=A("Manager");
echo $test--->test1();
echo "
";
//也可以去跨模块调用
$test_m=A("Home/Goods");
echo $test_m->test();
echo "
";
//R方法可以取执行对应模块下面的
R("Home/Goods/test");
// $this->display();
}
}从上面可以看出,R方法同时也可以去跨模块去实例化。
另外我们在Model的数据模型里面,必然需要下面的两种方法,一个是D方法,一个是M方法,前者是实例化数据模型类,而后者则是实例化数据模型的父类。
立即学习“PHP免费学习笔记(深入)”;
<!--?php
namespace Admin\Controller;
use Think\Controller;
class TestController extends Controller{
public function test1(){
$mythinkphp=M("user");
$t=$mythinkphp--->select();
echo "
"; // var_dump($mythinkphp->select()); // echo count($t); // echo "
"; // echo count($t[1]); // echo "
"; // for($i=0; $i<count border="'1px'" br="" echo="" function="" i="0;" is="" pre="" public="" t="new" t2='D("test_1");' table="" temp="$t2->select();" test="" this="" user='D("Test");'>
虽然从用法上看不出什么差别,但是内部确实不同的,D方法只实例化定义的数据模型类,而M方法去实例化数据模型的父类。<p> </p><p> </p><p> </p></count>($t);>











