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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 在Symfony中創建第一個頁面 創建頁面,無論是HTML還是JSON,都僅僅只有兩步: 創建路由:路由就是指向控制器和頁面的URL(比如,`/about`) 創建一個控制器:控制器就是您創建頁面的PHP函數。您搜集請求信息,并產生Symfony `Response`對象,它可以處理HTML內容,JSON字符串,甚至是二進制文件,譬如一個圖片文件或者PDF文件。 # 創建頁面:路由和控制器 在繼續之前,請確保您已經閱讀了[安裝](243916)章節,并且可以在瀏覽器中訪問您的Symfony項目。 假設您想創建一個頁面,`/lucky/number`,它將會生成一個幸運數字(當然是隨機的),并且打印它。那么,創建一個“控制器類”和一個“控制器”方法用來當有人訪問`/lucky/number`時執行您的業務需求。 ~~~ // 編輯的文件是:src/AppBundle/Controller/LuckyController.php namespace AppBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\HttpFoundation\Response; class LuckyController { /** * @Route("/lucky/number") */ public function numberAction() { $number = mt_rand(0, 100); return new Response( '<html><body>Lucky number: '.$number.'</body></html>' ); } } ~~~ 在解釋代碼之前,請測試它。如果您使用PHP內置Web服務器,請訪問以下URL: http://localhost:8000/app_dev.php/lucky/number 如果您使用的是內置的PHP Web服務器,那么URL中的app_dev.php可以省略。 如果您在瀏覽器中看到一個幸運數字,恭喜您。但高興之余,請想想它是如何運行的?還記得創建頁面的兩個步驟嗎? 1. 創建路由:`numberAction`方法上的`@Route`就是路由,它定義了這個頁面的URL模式。您將在[路由](244172)了解到更多關于路由的知識,包括如何創建可變URL。 2. 創建控制器:路由下邊的方法-`numberAction()`就是控制器。它是您創建頁面,最終返回一個`Response`對象的地方。您將在[控制器](244173)章節中學到更多關于控制器的細節,包括如何返回JSON數據。 # Web Debug工具 如果您的頁面工作良好,那么您會在瀏覽器底部看到一個工具條。他被稱為Web Debug工具條:您的調試好幫手。您將會學到更多有關它的知識,但現在請移動鼠標,點擊不同圖標來獲取關于路由、性能、日志等等調試信息。 # 渲染模板(使用服務容器) 如果控制器返回的是HTML,那您可能像渲染一個模板。幸運的是Symfony整合了`Twig`,一個易學、強大的,事實上相當有趣的一個模板語言。 首先,請確保`LuckyController`繼承自Symfony的基類`Controller` ~~~ // 編輯的文件是 src/AppBundle/Controller/LuckyController.php // ... // --> add this new use statement use Symfony\Bundle\FrameworkBundle\Controller\Controller; class LuckyController extends Controller { // ... } ~~~ 現在就可以使用render()方法來渲染一個模板,給它我們生成的幸運數字變量,這樣我們就可以渲染頁面了。 ~~~ // 編輯的文件是 src/AppBundle/Controller/LuckyController.php // ... class LuckyController extends Controller { /** * @Route("/lucky/number") */ public function numberAction() { $number = mt_rand(0, 100); return $this->render('lucky/number.html.twig', array( 'number' => $number, )); } } ~~~ 最后,模板文件應該放在`app/Resources/views`目錄中。在`app/Resources/views/lucky`目錄下創建一個名為`number.html.twig`的新文件。 ~~~ {# app/Resources/views/lucky/number.html.twig #} <h1>Your lucky number is {{ number }}</h1> ~~~ 在`Twig`中,`{{ number }}` 語法是用來輸出變量的。刷新瀏覽器來獲取您新的幸運數字。 http://localhost:8000/lucky/number 在[創建和使用模板](244174)章節中,您將學到關于Twig的一切:如何循環,渲染其他模板,掌握它強大的布局集成系統。 # 項目結構一覽 重大新聞!您已經在項目兩個最重要的目錄下工作了: `app/` 包含了譬如配置和模板這類東西。基本上凡是不是PHP代碼的東西都在這兒。 `src/` 您PHP代碼所在地。 99%的時間里,您將會工作在`src/`(PHP文件)或者是`app/`(其他文件)。隨著閱讀的深入,您將學到它們都能做什么。 那么,項目其他目錄是做什么? `bin/` 著名的bin/console文件就在這里(其他相對不太重要的執行文件)。 `tests/` 應用自動測試目錄(比如單元測試)。 `var/` 用來存儲自動創建的文件。比如緩存文件(`/var/cache/`),日志文件(`var/logs/`)和session文件(`/var/sessions/`)。 `vendor/` 第三方類庫放在這里!他們是通過Composer包管理器下載到這里的。 `web/` 這是項目的文檔根目錄:請將公眾文件放在這里(比如:CSS,JS和圖片) # Bundles和配置 您的Symfony應用包含了一組預安裝的Bundles,像`FrameworkBundle`和`TwigBundle`。Bundles和插件的理念很類似,但有個很重要的不同:所有Symfony應用的功能都來自Bundles。 Bundles是通過app/AppKernel.php(app/目錄下少有的PHP文件)注冊的。每個Bundles都為您提供了大量的*工具*,有時被稱為*服務*。 ~~~ class AppKernel extends Kernel { public function registerBundles() { $bundles = array( new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), new Symfony\Bundle\TwigBundle\TwigBundle(), // ... ); // ... return $bundles; } // ... } ~~~ 例如,`TwigBundle`就是負責為您的應用添加Twig工具的。 事實上,您可以下載和添加更多第三方Bundles到您的應用來獲取更多的工具。假設您需要分頁列表功能,Symfony中有很多這樣的三方Bundles。 您可以通過`app/config/config.yml`文件來控制自己的Bundles行為。其他的細節,比如環境和參數將會在[配置](244175)章節中討論。
                  <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>

                              哎呀哎呀视频在线观看