国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Symfony4中文文檔: 創建你的第一個Symfony頁面

AlanKeene / 2979人閱讀

摘要:創建你的第一個頁面創建一個新頁面無論是頁面還是端點分為兩步創建一個路由路由是一個指向你的頁面比如同時它映射到一個控制器創建一個控制器控制器是你為了構造頁面而寫的功能獲取傳入的請求信息并用它創建一個對象該對象可以包含內容字符串甚至是圖像或

創建你的第一個Symfony頁面

創建一個新頁面 - 無論是HTML頁面還是JSON端點 - 分為兩步:

創建一個路由: 路由(route)是一個指向你的頁面URL(比如/about), 同時它映射到一個控制器.

創建一個控制器: 控制器(controller)是你為了構造頁面而寫的功能. 獲取傳入的request請求信息并用它創建一個Symfony Response對象, 該對象可以包含HTML內容, JSON字符串甚至是圖像或PDF等二進制文件.

創建一個頁面: 路由和控制器
在開始之前, 請確保你已經閱讀安裝和配置Symfony章節, 并可以在瀏覽器中訪問你的Symfony應用程序.

假設你要新建一個 /lucky/number 頁面, 用于生成一個隨機的幸運數字并且輸出它. 為此,要先創建一個控制器類和控制器方法:

Lucky number: ".$number.""
        );
    }
}

現在, 你需要將此控制器功能與公共URL(例如: /lucky/number)相關聯, 以便在用戶訪問此鏈接時執行 number() 方法. 通過在 config/routes.yaml 文件中創建路由來定義此關聯:

# config/routes.yaml

# the "app_lucky_number" route name is not important yet
app_lucky_number:
    path: /lucky/number
    controller: AppControllerLuckyController::number

就這樣, 如果你正在使用Symfony Web服務, 可以嘗試訪問下:

http://localhost:8000/lucky/number

如果你看到幸運號碼被輸出到瀏覽器, 那么恭喜! 但是在你開始玩彩票之前, 先要了解它是如何運行的. 還記得創建頁面的兩個步驟嗎?

創建一個路由: 在 config/routes.yaml 文件中, 路由定義了URL到頁面的映射和要調用的控制器. 在本章節中你將會了解有關路由的更多信息, 包括如何創建變量URL.

創建一個控制器: 這是一個構建并最終返回一個Response對象的功能, 在本章節中你將會了解有關控制器的更多信息, 包括如何返回JSON響應.

要更快的創建控制器, 可以讓 Symfony 來生成:

$ php bin/console make:controller
Annotation 路由

除了YAML, Symfony 允許使用annotation來定義路由. 為此, 請安裝annotation包:

$ composer require annotations

你可以直接在控制器上方添加路由:


就這樣, 頁面 - http://localhost/lucky/number 將像以前一樣工作! Annotations 是配置路由的推薦方法.

使用 Symfony Flex 自動安裝『食譜』

你可能沒有注意到, 但當你運行 composer require annotations 時, 發生了兩件特別的事情, 這要歸功于一個名為Flex的強大的Componser插件.

首先, annotations 不是一個真正的包名: 它是Flex解析為 sensio/framework-extra-bundle 的別名.

其次, 此軟件包被下載之后, Flex執行一個『食譜』, 這是一組自動指令, 告訴Symfony如何繼承外部軟件包. Flex『食譜』適用于許多軟件包, 并且能夠做很多事情, 例如增加配置文件, 創建目錄, 更新.gitignore以及向.env文件添加新配置. Flex自動安裝軟件包, 以便于你能專注于編碼.

你可以通過閱讀 "Using Symfony Flex to Manage Symfony Applications"來了解有關Flex的更多信息. 但這不是必須的: 當你添加包時, Flex會在后臺自動運行.

bin/console 命令

你的項目已經集成一個強大的調試工具: bin/console 命令. 嘗試運行一下:

$ php bin/console

你應該可以看到一組命令列表, 可以為你提供調試信息, 幫助生成代碼, 生成數據庫遷移等. 當你安裝更多軟件包時, 你將看到更多命令.

要獲取你的系統中所有路由列表, 可以使用 debug:router 命令:

php bin/console debug:router

你可以在最頂端看到你的 app_lucky_number 路由:

Name Method Scheme Host Path
app_lucky_apinumber ANY ANY ANY /lucky/number

你還將在 app_lucky_number 之后看到調試路由 - 更多信息將在下一節中介紹.

Web調試工具欄: Debugging Dream

Web Debug Toolbar 是Symfony的殺手級工具之一: 在開發過程中大量調試信息輸出在頁面底部,便于調試. 安裝 symfony/profiler-pack 即可開箱即用.

安裝好后, 頁面底部會出現一個黑色工具條. 你將了解更多有關它所包含的所有信息, 并可自由嘗試: 鼠標懸?;螯c擊工具條上不同圖標即可獲取有關路由, 性能, 日志記錄等信息.

渲染模板

如果要從控制器返回HTML, 則可能需要渲染模板. 幸好, Symfony帶有Twig: 一個簡單,強大并且非常有趣的模板語言.

確保 LuckyController 繼承了Symfony的基礎 AbstractController 類:

// src/Controller/LuckyController.php

// ...
+ use SymfonyBundleFrameworkBundleControllerAbstractController;

- class LuckyController
+ class LuckyController extends AbstractController
{
    // ...
}

現在, 使用簡便的 render() 函數來渲染模板. 傳遞一個數字變量, 以便于你可以在Twig中使用它:

// src/Controller/LuckyController.php

// ...
class LuckyController extends AbstractController
{
    /**
     * @Route("/lucky/number")
     */
    public function number()
    {
        $number = random_int(0, 100);

        return $this->render("lucky/number.html.twig", [
            "number" => $number,
        ]);
    }
}

模板文件存在于 templates/ 目錄中, 該目錄是在安裝Twig時自動創建的. 創建一個新目錄 templates/lucky , 在新目錄中創建模板文件 number.html.twig, 寫入內容:

{# templates/lucky/number.html.twig #}

Your lucky number is {{ number }}

{{number}} 語法在Twig中用來打印變量. 刷新瀏覽器以獲取新的幸運數字.

http://localhost:8000/lucky/number

現在你可能擔心Web Debug工具去了哪里: 那是因為當前模板中沒有 標簽. 你可以自己添加body元素, 或者擴展 base.html.twig , 它包含所有默認的HTML元素.

在創建和使用模板章節中, 你將了解有關Twig的所有信息: 如何渲染, 渲染其他模板以及利用其強大的布局繼承系統.

查看項目結構

好消息! 你已經在項目中最重要的目錄中工作:

config/

配置路由, 服務和包

src/

所有PHP代碼都在此處.

templates/

所有Twig模板文件都在此處.

大多數情況下, 你將在 src/, templates/config/ 中工作. 當你繼續閱讀時, 你將學習在每個目錄中可以做些什么.

那么項目中的其他目錄呢?

bin/

著名的 `bin/console` 文件存在于此 (以及其他不太重要的可執行文件).

var/

這里存儲項目自動創建的文件, 如緩存文件 ( `var/cache/` ) 和 ( `var/log` ) .

vendor/

第三方 (即"vendor") 類庫都在這里! 這些是通過Composer包管理器下載的.

public/

這是項目的文檔根目錄: 你可以在此目錄放置任何可公開訪問的文件.

當你安裝新軟件包時, 將在需要時自動創建新目錄.

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29704.html

相關文章

  • Symfony4中文文檔: 安裝和設置Symfony框架

    摘要:安裝和設置框架要創建新的應用程序首先確保使用的是或更高版本并且已經安裝如果未安裝請首先在系統上全局安裝如果你想使用虛擬機請查看通過運行以下命令來創建新項目這將創建一個新的目錄下載所需的依賴,甚至生成你所需的基本目錄和文件換句話說你的 安裝和設置Symfony框架 要創建新的Symfony應用程序, 首先確保使用的是PHP7.1 或更高版本并且已經安裝Componser. 如果未安裝, ...

    jsummer 評論0 收藏0
  • Symfony4中文文檔: 路由

    摘要:路由漂亮的是任何嚴謹的應用程序所必須的這意味著像這樣丑陋的要被所取代具有靈活性更加重要如果你需要將更改為需要做些什么你需要搜索并更新多少鏈接才能做出這種改動如果你使用的是的路由更改將是很簡單的創建路由路由是從到控制器的映射假如你想要一個 路由 漂亮的URL是任何嚴謹的Web應用程序所必須的. 這意味著像 index.php?article_id=57 這樣丑陋的URL要被 /read/...

    everfight 評論0 收藏0
  • [譯]第三章 安裝和設置symfony(未完)

    摘要:安裝安裝器創建新應用的唯一推薦方式就是使用安裝器。安裝器是安裝在你的系統里的一個應用程序。安裝器需要及以上版本。如果您仍使用老舊的版本,你將不能使用安裝器。 原文鏈接 本章的目標是教導你建立一個運行在Symfony之上的應用程序。為了簡化創建新應用的步驟,Symfony提供了一個安裝程序。 安裝Symfony安裝器 創建新應用的唯一推薦方式就是使用Symfony Installer(S...

    dcr309duan 評論0 收藏0
  • 轉:從框架看PHP的五種境界及各自的薪資待遇

    摘要:語言行為及特征狀態看不懂任何英語技術,英語文檔,凡事沒有培訓部在搞的,只有英文文檔的東西國內一律沒大公司在用,都非主流,排斥英文文檔和新技術,以及各種超出他學習能力范圍的技術。 在撰寫此文前首先必須申明的是本人不鄙視任何一種框架,也無意于挑起PHP框架間的戰爭,更沒有貶低某個框架使用者的用意,本文純粹個人的看法。你可以認為我無知也好,或者裝逼也好,請不要試著在任何情況下,隨便發起言語的...

    Godtoy 評論0 收藏0
  • Linux 安裝 Symfony2.8

    摘要:環境說明操作系統安裝準備均使用安裝至少要有個的環境是少不了了安裝步驟下載官方命令工具創建項目這里執行項目創建時,會從官網下載源碼包,執行完后就能在當前目錄看到了這里我創建了一個新的項目叫,最后的不是項目名字中的是要下載指定的版本的源 環境說明 操作系統 tony@ubuntu:~$ lsb_release -a No LSB modules are available. Distrib...

    Yang_River 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<