首頁 後端開發 php教程 symfony路由組件(The Routing Component)

symfony路由組件(The Routing Component)

Aug 08, 2016 am 09:19 AM
component request route routing

The Routing component 把HTTP request轉換為一系列的設定參數.

安裝

你有兩種方式來安裝這個元件:

<code>通过 Composer (symfony/routing on Packagist);
使用官方的 Git repository (https://github.com/symfony/Routing)。
</code>
登入後複製

然後, 需要Composer把vendor/autoload.php 這個檔案提供給。 否則,你的應用程式將找不到這個元件。

用法

你需要下面三部分來設定基本的路由系統:

  • RouteCollection, 包含路由的定義(instances of the class Route)
  • RequestContext, 有關request的資訊;單一的route(即確定需要使用那個route)
  • 下面有個簡單的例子。這裡你需要確定你的autoloader 已經載入了這個元件:
<code><span>use</span><span>Symfony</span>\<span>Component</span>\<span>Routing</span>\<span>Matcher</span>\<span>UrlMatcher</span>;
<span>use</span><span>Symfony</span>\<span>Component</span>\<span>Routing</span>\<span>RequestContext</span>;
<span>use</span><span>Symfony</span>\<span>Component</span>\<span>Routing</span>\<span>RouteCollection</span>;
<span>use</span><span>Symfony</span>\<span>Component</span>\<span>Routing</span>\<span>Route</span>;

<span>$route</span> = <span>new</span> Route(<span>'/foo'</span>, <span>array</span>(<span>'controller'</span> => <span>'MyController'</span>));
<span>$routes</span> = <span>new</span> RouteCollection();
<span>$routes</span>->add(<span>'route_name'</span>, <span>$route</span>);

<span>$context</span> = <span>new</span> RequestContext(<span>$_SERVER</span>[<span>'REQUEST_URI'</span>]);

<span>$matcher</span> = <span>new</span> UrlMatcher(<span>$routes</span>, <span>$context</span>);

<span>$parameters</span> = <span>$matcher</span>->match(<span>'/foo'</span>);
<span>// array('controller' => 'MyController', '_route' => 'route_name')</span></code>
登入後複製

需要注意的是當使用$_SERVER[‘REQUEST_URI’]時,在URL上面可以包含任何參數。一個簡單的解決方法就是使用HttpFoundation component 這個元件,下文將會解釋這個元件。

未完待續

原文連結:

http://symfony.com/doc/current/components/routing/introduction.html


以上就介紹了symfony路由元件(The Routing Component),包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
php request什麼意思 php request什麼意思 Jul 07, 2021 pm 01:49 PM

request的中文意思是“請求”,是php中的一個全域變量,是一個包含了“$_POST”、“$_GET”和“$_COOKIE”的數組。 「$_REQUEST」變數可以取得POST或GET方式提交的資料、COOKIE資訊。

面試官:@Configuration 和 @Component 的區別 面試官:@Configuration 和 @Component 的區別 Aug 15, 2023 pm 04:29 PM

呼叫@Configuration類別中的@Bean註解的方法,傳回的是同一個範例;而呼叫@Component類別中的@Bean註解的方法,傳回的是一個新的實例。

Python 3.x 中如何使用urllib.request.urlopen()函數發送GET請求 Python 3.x 中如何使用urllib.request.urlopen()函數發送GET請求 Jul 30, 2023 am 11:28 AM

Python3.x中如何使用urllib.request.urlopen()函數發送GET請求在網路程式設計中,我們經常需要透過發送HTTP請求來取得遠端伺服器的資料。在Python中,我們可以使用urllib模組中的urllib.request.urlopen()函數來傳送HTTP請求,並取得伺服器回傳的回應。本文將介紹如何使用

vue3怎麼使用defineAsyncComponent與component標籤實作動態渲染元件 vue3怎麼使用defineAsyncComponent與component標籤實作動態渲染元件 May 12, 2023 pm 05:55 PM

一、基礎的動態引入元件:簡單的動態引入的意思是,前端知道要引入哪些元件,將多個元件引入到父元件中,但不渲染它,滿足一定條件後,才去在某個位置渲染指定的組件。 import{reactive,ref,shallowReactive,onActivated,defineAsyncComponent,}from'vue';constcustomModal=defineAsyncComponent(()=>import('./modal/CustomM

Vue 中使用 mixin、extend、component 等 API 實作元件客製化的技巧 Vue 中使用 mixin、extend、component 等 API 實作元件客製化的技巧 Jun 25, 2023 pm 03:28 PM

Vue.js是一個流行的前端框架,它提供了許多API用於組件的客製化。本文將介紹Vue中mixin、extend、component等API,幫助您掌握元件客製化的技巧。 mixinmixin是Vue中重複使用元件程式碼的一種方式。它允許我們將已經編寫的程式碼重複使用到不同的元件中,從而減少重複程式碼的編寫。例如,我們可以使用mixin來幫助我們在多個群組

怎麼將Vue3 Axios攔截器封裝成request文件 怎麼將Vue3 Axios攔截器封裝成request文件 May 19, 2023 am 11:49 AM

1.建立一個名為request.js的新文件,並匯入Axios:importaxiosfrom'axios';2、建立一個名為request的函數,並將其匯出:這將建立一個名為request的函數,並將其設定為具有基本URL的新的Axios實例。若要在封裝的Axios實例中新增逾時設置,可以在建立Axios實例時傳遞timeout選項。 exportconstrequest=axios.create({baseURL:'https://example.

PHP中的request是什麼 PHP中的request是什麼 Jun 01, 2023 am 10:12 AM

PHP中的request是指請求,它是PHP中的一個超全局變量,用於收集HTML表單提交的數據,以及URL中的參數, 可以同時獲取GET和POST請求的數據, 注意$_request是一個關聯數組,其中的鍵是表單欄位的名稱,值是表單欄位的值。使用$_request變數時,應始終對使用者輸入的資料進行驗證和過濾,以避免安全性問題。

PHP中的Request物件是什麼? PHP中的Request物件是什麼? Feb 27, 2024 pm 09:06 PM

PHP中的Request物件是用來處理客戶端傳送到伺服器的HTTP請求的物件。透過Request對象,我們可以取得客戶端的請求訊息,例如請求方法、請求頭資訊、請求參數等,從而實現對請求的處理和回應。在PHP中,可以使用$_REQUEST、$_GET、$_POST等全域變數來取得要求的信息,但是這些變數並不是對象,而是陣列。為了更靈活和方便地處理請求訊息,可

See all articles