Home > php教程 > php手册 > Thinkphp的A,R,M,D方法区别

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

WBOY
Release: 2016-06-13 09:05:35
Original
1071 people have browsed it

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();
	}
}
Copy after login

从上面可以看出,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 "
Copy after login
"; // 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);>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template