码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-04-28 21:06:50      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:thinkphp   数据库   a   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 "<br/>";

		//也可以去跨模块调用
		$test_m=A("Home/Goods");
		echo $test_m->test();

		echo "<br/>";
		//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 "<pre>";
		// var_dump($mythinkphp->select());
		// echo count($t);
		// echo "<br/>";
		// echo count($t[1]);
		// echo "<br/>";
		// for($i=0; $i<count($t); $i++){
		// 		if($t[$i]['name']=='xuning'){
		// 			echo "存在这个用户,用户ID为".($i-1);
		// 		}
		// }
		// echo "<br/>";
		//这样就完成了从数据库里面去遍历数据
		echo "<center>";
		echo "<h1>This is table test content</h1>";
		echo "<table border='1px'>";
		for($i=0; $i< count($t); $i++){
			echo "<tr>";
					echo "<td>";
					echo $t[$i]['id'];
					echo "</td>";
					echo "<td>";
					echo $t[$i]['name'];
					echo "</td>";
					echo "<td>";
					echo $t[$i]['password'];
					echo "</td>";
			echo "</tr>";
		}
		echo "</table>";
		echo "</center>";
		echo "</pre>";
		$t2=D("test_1");
		$temp=$t2->select();
		echo $temp[0]['name'];
	}
	public function test2(){
		//其实这里的实例化是建立的数据库对象,并不是精确到表,同时
		//我们也可以不是建立数据模型,从而直接使用,所以,
		$t=new \Model\TestModel;
		show_bug($t);
	}
	public function test3(){
		$user=D("Test");
		show_bug($user);
	}
}

虽然从用法上看不出什么差别,但是内部确实不同的,D方法只实例化定义的数据模型类,而M方法去实例化数据模型的父类。



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

标签:thinkphp   数据库   a   m   d   

原文地址:http://blog.csdn.net/mycodedream/article/details/45340949

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!