Thinkphp的A,R,M,D方法区别
在Thinkphp中,实例化对象有这么几种方法,如果是类,有A和R方法,区别是A方法只是对象的实例化,而R方法是可以同时实例化对象里面的方法的,这里需要去指定,如下面的实例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <!--?php
namespace Admin\Controller;
use Think\Controller;
class GoodsController extends Controller{
public function showlist(){
$test =A( "Manager" );
echo $test --->test1();
echo "
";
$test_m =A( "Home/Goods" );
echo $test_m ->test();
echo "
";
R( "Home/Goods/test" );
}
}
|
Nach dem Login kopieren
从上面可以看出,R方法同时也可以去跨模块去实例化。
另外我们在Model的数据模型里面,必然需要下面的两种方法,一个是D方法,一个是M方法,前者是实例化数据模型类,而后者则是实例化数据模型的父类。
1 2 3 4 5 6 7 8 | <!--?php
namespace Admin\Controller;
use Think\Controller;
class TestController extends Controller{
public function test1(){
$mythinkphp =M( "user" );
$t = $mythinkphp --->select();
echo "
|
Nach dem Login kopieren
1 2 3 4 | "; // 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 );>
|
Nach dem Login kopieren