<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 快速入門三、理解MVC 本章將講述在網絡系統(WEB系統)開發中,MVC(模型-視圖-控制器)架構的理念、設計以及在sp框架中的實際應用方式等。 首先我們來看看MVC架構的示意圖: ![MVC示意圖](https://box.kancloud.cn/2015-10-19_5624acaa54438.jpg) 從上圖我們可以將MVC簡單地理解成: 和訪問者交互的是控制層(Controller層),控制器(controller)是同類交互的集合,每一個交互的操作,都對應了一個動作(action)。在sp框架中,全部的控制器類都必須繼承于Controller。 > 由于需要比較方便的進行全局控制操作,所以sp加入BaseController的級別,從繼承關系來看是普通的Controller繼承于BaseController,而BaseController繼承于Controller。以下是層級關系圖。 ![控制器層級關系圖](https://box.kancloud.cn/21de325c79f4c342aba4662416d92a11_810x361.jpg) > 加入BaseController后,很多公共的全局操作可以放到BaseController里面來進行,如權限控制,全局提示信息封裝等。 對數據庫進行存取的是模型層(Model層),在sp框架中,全部的模型器類都必須繼承于Model。 顯示頁面模板的是視圖層(View層),在sp框架中,視圖層被集成到了控制器內,所以在實際開發中,視圖層所要制作的只有頁面模板。 上面簡單描述了MVC架構的理解。下面講述一下關于sp框架中的MVC理念,可能比較抽象而不好理解,但是還請耐心去閱讀,畢竟在實際開發中,對MVC理念的理解是非常必要和重要的。 sp框架中的MVC理念,是將網絡系統劃分為三個關注點:交互、數據、頁面模板;也就是我們設計或分析一個網絡系統,就可以從這三個角度去進行: **交互**: 表現在系統提供了哪些功能,這些功能可以劃分為哪些大類,每一個大類的功能分別都有些什么操作等等。 比如PHP論壇系統,我們可以粗略劃分成板塊、帖子、用戶、站內信息、后臺管理等幾大類的功能,然后用戶的功能里面又包括了注冊、登錄、修改用戶信息等等的多個操作。 > 對應sp框架的控制層(controller層)而言,一個功能大類可以說是一個控制器類(當然,如果該類型概況的范圍比較大,那么還需要繼續拆分成多個控制器類),單個類型內的每一個功能就是一個動作(action,控制器類的方法函數)。然后根據訪問者對系統的每一次操作,sp框架都會自動選擇對應控制器類中的對應動作進行處理。 > 新加入的BaseController,可以理解成在各種功能之上的一個通用的功能集合。 **數據**: 表現在系統對數據庫進行了那些操作。網絡系統幾乎都需要和數據庫打交道。那么,在進行對交互的分析和對系統本身的分析后,我們也大致上可以歸納系統需要哪些數據了。然后我們將這些數據整理歸類,最終可以得出系統需要的數據表是哪些。 就剛才的PHP論壇,按照“板塊、帖子、用戶、站內信息、后臺管理”這五個分類功能,我們可以基本歸納出它們需要:板塊記錄表、帖子記錄表、用戶表、站內信息表、后臺設置表等等。 > 對應sp框架的模型層(Model層)而言,一個表可以說就是對應了一個模型類。而sp框架中的模型父類(spModel)為這些模型類提供大部分與數據庫存取的功能。 **頁面模板**: 每一個網絡系統的開發中,我們都將需要制作相當數量的頁面。簡單來說,控制器的每一個動作(action)都有可能產生一個頁面,所以在理清所有交互,完成控制器的設計后(未寫代碼前),我們就可以得到需要的頁面模板的清單了。然后在模板引擎的幫助下,頁面模板的制作可以與控制器的開發同時進行,以提高開發效率。 按照上面的PHP論壇交互的設計,那么我們可以得到的頁面模板有許多,比如板塊方面,有首頁模板、分區模板、板塊模板等;帖子方面有帖子內容模板、發帖模板、回帖模板等。 >sp框架將視圖層(View層)集成到了控制器內,所以在開發中,控制器將會把需要的數據發送到模板上面。而視圖層所需要的開發,就僅是按照模板的語法進行頁面模板的制作即可。 根據“交互、數據、頁面模板”這三個關注點,那么我們就可以比較全面地去分析和設計一個網絡系統了。請注意這三個關注點并非孤立的,而“交互”正是“數據”與“頁面模板”的基礎,所以對“交互”的分析務必要做到正確并且完善。如果您希望了解更多關于系統分析與設計方面的知識,請到sp網站上面閱讀相關文章。 當我們理解了MVC后,下一步我們可以開始進入實戰,來制作一個簡單的留言本程序了。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看