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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                {% raw %} # Symfony 請求教程 > 原文: [http://zetcode.com/symfony/request/](http://zetcode.com/symfony/request/) Symfony 請求教程展示了如何在 Symfony 中使用請求對象。 我們展示了幾種在 Symfony 中創建請求對象的方法。 ## Symfony Symfony 是一組可重用的 PHP 組件和一個用于 Web 項目的 PHP 框架。 Symfony 于 2005 年發布為免費軟件。Symfony 的原始作者是 Fabien Potencier。 該框架的開發由 Frech 公司 Sensio Labs 贊助。 ## Symfony `HttpFoundation`組件 Symfony `HttpFoundation`組件為 HTTP 規范定義了一個面向對象的層。 該組件以面向對象的方式表示請求/響應過程。 在最低級別上,我們具有 PHP 全局變量,例如`$_GET`,`$_POST`或`$_FILES`。 這些由`Request`對象表示。 響應由`Response`對象表示。 ## Symfony 請求示例 在下面的示例中,我們使用鏈接創建三個不同的請求。 ```php $ composer create-project symfony/skeleton symreq ``` 使用`composer`,我們創建一個新的 Symfony 骨架項目。 ```php $ cd symreq ``` 我們轉到項目目錄。 ```php $ composer req annotations twig ``` 我們安裝模塊`annotations`和`twig`。 ```php $ composer req maker server --dev ``` 我們安裝制造商組件和開發 Web 服務器。 ```php $ php bin/console make:controller HomeController ``` 創建了`HomeController`。 `src/Controller/HomeController.php` ```php <?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Routing\Annotation\Route; class HomeController extends AbstractController { /** * @Route("/", name="home") */ public function index() { return $this->render('home/index.html.twig'); } } ``` `HomeController`返回一個包含錨標記的主頁。 `templates/home/index.html.twig` ```php {% extends 'base.html.twig' %} {% block title %}Home page{% endblock %} {% block body %} <ul> <li><a href="/myapp?colour=yellow&day=Saturday">First request</a></li> <li><a href="/myapp2?colour=green&day=Sunday">Second request</a></li> <li><a href="/myapp3?colour=red&day=Monday">Third request</a></li> </ul> {% endblock %} ``` `HomeController`返回一個包含三個鏈接的主頁。 每個鏈接都有兩個查詢參數。 它們指向不同的控制器方法。 ```php {% extends 'base.html.twig' %} ``` 該模板繼承自`base.html.twig`文件,該文件具有要共享的基本標記。 `templates/base.html.twig` ```php <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>{% block title %}Welcome!{% endblock %}</title> {% block stylesheets %}{% endblock %} </head> <body> {% block body %}{% endblock %} </body> </html> ``` `base.html.twig`模板包含其他模板文件共享的代碼。 它定義了將在子模板中替換的塊。 ```php $ php bin/console make:controller MyappController ``` 創建了`MyappController`。 `src/Controller/MyappController.php` ```php <?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; class MyappController extends AbstractController { /** * @Route("/myapp", name="myapp") */ public function process() { $request = Request::createFromGlobals(); $col = $request->query->get("colour"); $day = $request->query->get("day"); $content = "Colour: $col, day: $day"; return new Response($content); } /** * @Route("/myapp2", name="myapp2") */ public function process2() { $request = new Request( $_GET, $_POST, array(), $_COOKIE, $_FILES, $_SERVER ); $col = $request->query->get("colour"); $day = $request->query->get("day"); $content = "Colour: $col, day: $day"; return new Response($content); } /** * @Route("/myapp3", name="myapp3") */ public function process3(Request $request) { $data = $request->query->all(); $col = $data["colour"]; $day = $data["day"]; $content = "Colour: $col, day: $day"; return new Response($content); } } ``` `MyappController`處理由鏈接創建的三個 GET 請求。 ```php $request = Request::createFromGlobals(); $col = $request->query->get("colour"); $day = $request->query->get("day"); ``` 使用`Request::createFromGlobals()`創建請求對象。 使用`get()`方法檢索 GET 參數。 ```php $request = new Request( $_GET, $_POST, array(), $_COOKIE, $_FILES, $_SERVER ); ``` 在第二種情況下,使用`new`關鍵字創建請求。 它通過 PHP 全局變量傳遞。 ```php public function process3(Request $request) { $data = $request->query->all(); ... ``` 在第三種情況下,使用 Symfony 的依賴項注入來注入請求對象。 我們使用`all()`方法從請求中獲取所有參數。 ```php $col = $data["colour"]; $day = $data["day"]; ``` 從數組中,我們得到值。 ```php $content = "Colour: $col, day: $day"; return new Response($content); ``` 我們構建內容并返回`Response`對象。 在本教程中,我們處理了 Symfony 中的請求。 您可能也對以下相關教程感興趣: [Symfony 簡介](/symfony/intro/), [Symfony 郵件教程](/symfony/main/), [Symfony 創建路由](/symfony/createroutes/), [Symfony 表單教程](/symfony/form/) , [PHP 教程](/lang/php/)。 {% endraw %}
                  <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>

                              哎呀哎呀视频在线观看