yii2 的模組後台如何設計比較優雅

來源:互聯網
上載者:User
關鍵字 php yii2
yii2進行前後台分離,backend和frontend已經配置好正常用了,但是第三方模組或者自己弄得模組,都是基於frontend來做的,而且他的模組裡沒有響應的設定來區分前台和後台,這時候如果把模組註冊到frontend中,內部相應的管理相關的控制器實際上在frontend也能訪問到。如何進行優雅的分離,我的意思是不是用RBAC來控制,是前台壓根就訪問不到。

回複內容:

yii2進行前後台分離,backend和frontend已經配置好正常用了,但是第三方模組或者自己弄得模組,都是基於frontend來做的,而且他的模組裡沒有響應的設定來區分前台和後台,這時候如果把模組註冊到frontend中,內部相應的管理相關的控制器實際上在frontend也能訪問到。如何進行優雅的分離,我的意思是不是用RBAC來控制,是前台壓根就訪問不到。

可以在frontend和backend的同級目錄下,建立一個module目錄,存放公用模組,然後在需要的地方引導啟動模組。例如要在frontend中使用myModule模組,在config中添加如下:

[    'bootstrap' => [        'myModule',    ],    'modules' => [        'myModule' => 'app\module\myModule',    ],]

然後在frontend項目中,就可以用$module = myModule::getInstance();訪問了。

參考http://www.yiichina.com/doc/guide/2.0/st...

yii2預設的進階模板中就已經區分了前台、後台、公用目錄了
frontend
backend
common

frontend,backend同時可以依賴common
但frontend、backend之間不做依賴,有依賴的項都放common

你建立的module也要按職能區分開的
前台的module放frontend
後台用的module放backend
公用的再抽出來放common

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.