Heim  >  Artikel  >  Backend-Entwicklung  >  Thinkphp的A,R,M,D方法区别_PHP教程

Thinkphp的A,R,M,D方法区别_PHP教程

WBOY
WBOYOriginal
2016-07-13 09:55:15779Durchsuche

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);>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/992669.htmlTechArticleThinkphp的A,R,M,D方法区别 在Thinkphp中,实例化对象有这么几种方法,如果是类,有A和R方法,区别是A方法只是对象的实例化,而R方法是可...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn