首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

ThinkPHP 核心實例化方法區別:A/R 控制器、M/D 模型

     編輯:PHP 相關知識

A() vs R():控制器實例化

<?php
namespace Admin\Controller;
use Think\Controller;
class GoodsController extends Controller {
    public function showlist() {
        // A() 僅實例化控制器對象
        $test = A("Manager");
        echo $test->test1();
        // 跨模塊調用
        $test_m = A("Home/Goods");
        echo $test_m->test();

        // R() 實例化並直接調用方法:模塊/控制器/方法
        R("Home/Goods/test");
    }
}
?>

M() vs D():模型實例化

<?php
namespace Admin\Controller;
use Think\Controller;
class TestController extends Controller {
    public function test1() {
        // M() 實例化基類 Model,適用於無自定義模型類的表
        $m = M("user");
        $data = $m->select();

        // D() 實例化自定義模型類(需存在 UserModel.class.php)
        $d = D("Test"); // 對應 TestModel
        $data2 = $d->select();
    }
}
?>

總結:A/R 針對控制器(R 可鏈式調用方法),M/D 針對模型(D 載入自定義模型邏輯,M 直接操作表)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved