<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 控制器 控制器其實就是一個PHP類。 控制器的作用在于,接受來自路由的調度,進行相應的工作(獲取請求的參數,進行數據庫的查詢或操作,對返回的數據加以進一步的處理,顯示一個模板并對模板中的變量加以賦值)。 出于管理的需要,我們通常將對某個實體進行操作的工作集中歸并到一個類中,這個類的名稱、類中方法的命名都遵循一定的規范。 ## 類的名稱和類成員的名稱 從之前我們討論的[路由](https://taylorr.gitbooks.io/building-a-web-site-with-symfony/content/03.03%20route.html)中,我們看到這樣一個路由: ~~~ homepage: pattern: / defaults: { _controller: AppBundle:Default:index } ~~~ 我們知道這個路由表示的路徑是`/`,也就是一般意義上的站點首頁的位置,而它對應的控制器是`AppBundle:Default:index`,再回想一下我們在[包](https://taylorr.gitbooks.io/building-a-web-site-with-symfony/content/03.02%20bundle.html)這一章中展示的包結構圖,SF的規定是這樣的: 1. 所有的控制器都位于`AppBundle\Controller`目錄下。 2. 定義控制器類的文件命名規范是:*Name*+Controller.php。而這里的`name`和該路由定義的`AppBundle:Default:index`的第二部分(也就是`Default`)一樣。所以,針對`homepage`這個路由,我們必然要有一個`DefaultController.php`的文件與之對應。 3. 這個文件必須定義一個*Name*Controller的類,且這個類必須派生于`Controller`類。 4. 鑒于路由定義的第三部分`index`,它規定了具體采用什么動作。與之對應的是這個類中的成員函數。這個成員函數必須是`public`,而且命名為`indexAction`。也就是說,它的名稱是路由定義中的第三部分`action`加上`Action`這個后綴。 5. 函數參數的定義必須和路由中的要求一致。參數出現的順序并不是特別重要,但是名字必須和路由中指定的參數名稱有對應。我們會在以后再更詳細地討論路由參數和控制器參數的問題。 6. 控制器類必須有自己的`namespace`聲明。通常它就是該文件所在目錄,因此它應該總是`namespace AppBundle\Controller;`。 一個典型的控制器類的代碼可能是這樣的: ~~~ //File: src/AppBundle/Controller/DefaultController.php namespace AppBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Security\Core\Security; class DefaultController extends Controller { public function indexAction() { // Code for index action. } // More codes and more actions } ~~~ 上述代碼中出現的一些`use`語句,我們在此不多做解釋。只說明一點:它們是根據控制器中代碼的需要所引入的命名空間。 關于控制器,本節就描述到這里。控制器是SF中最關鍵的一個概念,也是我們用SF編寫應用時寫代碼最多、業務邏輯最集中的一個地方。
                  <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>

                              哎呀哎呀视频在线观看