>  기사  >  php教程  >  Thinkphp的A,R,M,D方法区别

Thinkphp的A,R,M,D方法区别

WBOY
WBOY원래의
2016-06-13 09:05:351004검색

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
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($t); 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);>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.