框架的作用之一,是保持你的code擁有良好的組織性;同時還能通過避免將資料庫查詢、html標籤以及其他PHP code整合到同一環境中而令你的程式輕鬆與時俱進。為了用Symfony實現這目標,你需要學習以下幾個概念。
當開發Symfony程序時,作為開發者的責任,是寫出能夠迎合使用者請求(request)(比如:http://localhost:8080
)的code,並將與請求相對應的資源顯示出來。(如homepage頁面)
使用者請求所執行的code,被定義於PHP class的方法之中。這些方法被稱為actions,而class則稱作controllers(控制器)。使用者請求和code之間的映射關係則被定義於routing(路由)配置中。瀏覽器顯示的內容一般是通過templates(模板)來輸出的。
當你瀏覽之前的http://localhost:8080
時,Symfony執行了在src/AppBundle/Controller/DefaultController.php
文件中定義的控制器,並渲染輸出app/Resources/views/default/index.html.twig
模板。
採用MVC架構
整體運作構造複雜,不過透過使用框架,只需要寫少量的程式碼,就可以進行開發
要生成symfony頁面之前,要先建立模組(modules),頁面最初是建立空殼,具有symfony可以識別的文件結構
添加頁面與添加動作(action),每個頁面生成背後的邏輯都是動作(action)並且透過模版來展示頁面,剩餘沒有邏輯的頁面背後還是要有空白動作empty action
增加template
頁面由動作與模版(template)所組成。
根據function或application整體構成一個模組(modules)
helper有助於編寫模版(templates),helper是由symfony所提供的返回html code的函數
並且您需要將 URL 視為response的一部分,可以根據需要對其進行格式化,因此您應該避免在操作命名或請求參數檢索中使用對 URL 的任何直接引用
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing