iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
0
Modern Web

PHP框架-Symfony4 + api platform 系列 第 2

Day#2 看路牌指標才不會走錯路之路由(Route)介紹及抓蟲用的捕蟲網(toolBar)

  • 分享至 

  • twitterImage
  •  

承上篇有提到控制器上若有路由(Route),則為一個URL,那我們要怎麼做設定呢?


首先 先在src目錄下,建立一個Controller子目錄,在裡面建立一個Controller,並建立一個function

public function homepage(){

        return new Response('OMG!');
    }

接著 在這個function的上方,用註解式(annotation) 加上Route

 /**
     * @Route("/homepage",name="firstPage")
     */
    public function homepage(){

        return new Response('OMG!');
    }

Route的兩個參數分別為

1.URI => 能直接在伺服器找到對應資源

2.此URL的別名 => 可以在其他處使用 例如用在twig的path在取得路徑的時候

因為這次沒有介紹到twig 所以副上官方文件出處 https://symfony.com/doc/current/templates.html


接著介紹在debug的時候會用到的工具列(tool bar)

首先 先執行以下指令來安裝tool bar 的package

composer require --dev symfony/profiler-pack

接著,打開你的任一頁面的最底下就會有出現像以下圖片的一條工具列

工具列的最左邊,如下圖,會顯示http request 和response的基本資訊

工具列上有一個人頭圖像的,則是會告訴我們現在登入者的帳號及是否登入成功的資訊

工具列上任一處點擊進去,可以看到完整的資訊,裡面包含

1.請求和回應 Request and Response

2.Validator 所用到的欄位驗證錯誤資訊 (例如此欄位不可為空,該日期須小於今日),會顯示錯誤欄位及錯誤訊息

3.目前所使用到的表單 Forms ,左邊為目前表單的所有欄位,Submitted Data 則是提交出去的資料

4.try catch 所抓到的Exceptions

5.Events 頁面上所執行到的監聽器EventListener、控制器Controller或Voter 驗證

6.Routing 這個專案裡的所有路由

7.Translation 這個頁面上所使用到的翻譯

8.Security 這個使用者所擁有的所有權限(ROLE)

9.Twig 這個頁面上render的所有twig

10.Doctrine 這個頁面上所使用的SQL語法

11.Configuration 一些基本資訊(php版本,symfony版本,時區,環境,所使用的bundles)

下一篇,要來跟各位看官們介紹的是Servcie(服務),
所有的服務都是透過bundle存放在一個容器(container)裡,
我們可以將服務視為一種工具,可以將會多次使用到的function寫進服務裡,
除了可以增加程式的可讀性外,也可以達到方法重用性的效果哦!


上一篇
Day#1 雖然Symfony是PHP比較冷門的框架,但還是有人會用的吧?。゚ヽ(゚´Д`)ノ゚。
下一篇
Day#3 從容器裡挖Service來用- 舉例簡易遮罩功能,然後給它依賴注入進去
系列文
PHP框架-Symfony4 + api platform 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言