ホームページ  >  記事  >  php教程  >  Thinkphp的A,R,M,D方法区别

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

WBOY
WBOYオリジナル
2016-06-13 09:05:351049ブラウズ

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 までご連絡ください。