thinkphp D方法 疑問

來源:互聯網
上載者:User
關鍵字 php
我看到別人寫代碼的時候,直接用D("User")方法,我知道這個D方法是用來執行個體化自訂模型類的,但是我沒有在Model目錄中找到這個UserModel.class.php,請問那是怎麼回事?

回複內容:

我看到別人寫代碼的時候,直接用D("User")方法,我知道這個D方法是用來執行個體化自訂模型類的,但是我沒有在Model目錄中找到這個UserModel.class.php,請問那是怎麼回事?

沒有model就會執行個體化 系統基礎Model

function D($name = '', $layer = ''){    if (empty($name)) {        return new Think\Model;    }    static $_model = array();    $layer         = $layer ?: C('DEFAULT_M_LAYER');    if (isset($_model[$name . $layer])) {        return $_model[$name . $layer];    }    $class = parse_res_name($name, $layer);    if (class_exists($class)) {        $model = new $class(basename($name));    } elseif (false === strpos($name, '/')) {        // 自動載入公用模組下面的模型        if (!C('APP_USE_NAMESPACE')) {            import('Common/' . $layer . '/' . $class);        } else {            $class = '\\Common\\' . $layer . '\\' . $name . $layer;        }        $model = class_exists($class) ? new $class($name) : new Think\Model($name);    } else {        Think\Log::record('D方法執行個體化沒找到模型類' . $class, Think\Log::NOTICE);        $model = new Think\Model(basename($name));    }    $_model[$name . $layer] = $model;    return $model;}

如果沒有UserModel.class.php也是可以執行的,不過你要做關聯模型就會報錯找不到這個關聯的模型,驗證這些都是要建立UserModel.class.php來才可以進行的,如果沒有這個UserModel.class.php你可以吧D當成M來使用

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.